269 Commits

Author SHA1 Message Date
mutouyun
0c6a3862d0 use thread_local_ptr instead of thread_local 2018-12-14 23:57:31 +08:00
mutouyun
1e44d6f84e pimpl small object optimization 2018-12-14 18:50:20 +08:00
mutouyun
69cfad56c3 mv ipc::yield from def.h to rw_lock.h 2018-12-14 11:29:17 +08:00
mutouyun
7b812c3c6e optimize lock_shared 2018-12-14 11:21:46 +08:00
mutouyun
238f769f7a adjust test case 2018-12-14 10:34:45 +08:00
mutouyun
17e923e67a remove benchmark of ipc::rw_cas_lock 2018-12-14 09:47:08 +08:00
mutouyun
c47175360c fix bug, remove rw_cas_lock 2018-12-14 00:00:45 +08:00
mutouyun
96c2a037f3 considering a different implementation, may have bugs 2018-12-13 18:37:06 +08:00
mutouyun
a26f171124 max defined in <windows.h> 2018-12-13 15:40:19 +08:00
mutouyun
7a7426a8b8 poor performance on arm-a7 2018-12-13 11:50:26 +08:00
mutouyun
b6248ad5dc use ipc::yield instead of this_thread::yield 2018-12-13 11:00:21 +08:00
mutouyun
5ffc820983 use rw_lock for ipc with multi-thread 2018-12-12 23:31:22 +08:00
mutouyun
c40dddcc06 fix bugs; optimize performance 2018-12-12 18:49:10 +08:00
mutouyun
29d25e2226 add benchmark for lock-test 2018-12-12 17:48:02 +08:00
mutouyun
bc25cd6912 change interface name for rw_lock 2018-12-12 16:14:04 +08:00
mutouyun
eccded45c2 add thread_fence 2018-12-12 09:54:08 +08:00
mutouyun
35a8f95619 test rw_lock 2018-12-12 00:03:42 +08:00
mutouyun
9c9ca8f5c4 (void) => () 2018-12-11 22:28:29 +08:00
mutouyun
eb2e75d5b7 eliminate warnings 2018-12-11 21:02:24 +08:00
mutouyun
449cf75da9 put rw_lock to a single header file 2018-12-11 20:56:13 +08:00
mutouyun
1b047bd975 fix compiling errors 2018-12-11 20:52:15 +08:00
mutouyun
0a17257388 rw_lock (TBD) 2018-12-11 18:46:04 +08:00
mutouyun
f3a73fcc4d remove std::string from export interface 2018-12-11 17:34:54 +08:00
mutouyun
a3c90d9f8b use nested class in pimpl 2018-12-11 17:08:13 +08:00
mutouyun
d5b5b3e0f4 def ipc::uint<N>; optimize code 2018-12-11 16:58:51 +08:00
mutouyun
caabc24b71 adjust elem_t construction 2018-11-30 22:16:44 +08:00
mutouyun
85bb05bb52 complete ipc send & recv; prepare ipc::channel; add ipc ut (basic test); add ut suit name; 2018-11-30 17:32:09 +08:00
zhangyi
c8e81e2794 use std::atomic<std::size_t> instead of flag for better performance in arm; cross-platform supporting; add more test cases 2018-11-30 15:13:44 +08:00
mutouyun
b3e2c80fc0 use spin lock for multi-producers 2018-11-30 11:38:50 +08:00
mutouyun
9540842ba7 add ipc.cpp for implementation of ipc interfaces (TBD); restructure code 2018-11-29 23:05:53 +08:00
mutouyun
518fc000e7 add ipc.h 2018-11-29 18:33:58 +08:00
mutouyun
b3ad167970 fix wrong word 2018-11-29 00:20:15 +08:00
mutouyun
7d91b187fe fix bugs of circ_queue 2018-11-29 00:14:37 +08:00
zhangyi
c9ce4b466a add circ_queue test (TBD) 2018-11-28 11:53:10 +08:00
mutouyun
2905b55fcf ipc::circ::queue & test_queue 2018-11-27 22:16:03 +08:00
mutouyun
fa2c8200bf prepare for circ_queue 2018-11-27 20:57:34 +08:00
mutouyun
21789676e7 move circ_elem_array.h to include dir 2018-11-27 20:50:40 +08:00
mutouyun
2f175b9da9 adjust 2018-11-27 20:45:28 +08:00
zhangyi
f0cbfbff7c add more cases for performance testing 2018-11-27 12:24:56 +08:00
zhangyi
1cf277e9e1 optimize test performance 2018-11-27 11:54:43 +08:00
zhangyi
c7f49fad5a cross-platform 2018-11-27 11:41:08 +08:00
mutouyun
da25b7fc81 adjust comment 2018-11-27 10:49:57 +08:00
mutouyun
eefea828f0 not support N:M (prod-cons) 2018-11-27 10:47:23 +08:00
mutouyun
db35146542 still have bugs 2018-11-26 21:36:19 +08:00
mutouyun
2d86727be1 a little adjustment 2018-11-26 18:35:49 +08:00
mutouyun
e2cdcb24c3 still have bugs 2018-11-26 18:15:07 +08:00
mutouyun
453f93a69e using yield when checks read finished failed; fix bugs 2018-11-26 16:53:41 +08:00
mutouyun
b3b0cc59f8 fix bugs 2018-11-26 15:00:17 +08:00
mutouyun
0222af2221 add test_prod_cons function template; fix some bugs for multi-producers 2018-11-26 11:56:59 +08:00
mutouyun
7e24273a64 adjust count of consumers 2018-11-23 22:10:50 +08:00