Commit graph

51 commits

Author SHA1 Message Date
b602dcd2df Merge branch 'master' of github.com:stv0g/c11-stdatomic-queue 2017-03-31 15:26:13 +02:00
9ebd2a289d fixed compiler warnings (-Wsign-compare) (closes #2) 2017-03-31 15:24:14 +02:00
Umar Farooq
d6a6b6e5dc Replace memory_order_consume with memory_order_acquire as in MPMC implementation 2016-09-30 16:25:57 +02:00
Umar Farooq
6742f969f8 Improvements in unbounded queue from gprof results---needs further testing 2016-09-30 15:09:29 +02:00
Umar Farooq
9516618923 Replace rdtscp with rdtsc for older CPU version testing 2016-09-28 17:58:09 +02:00
Umar Farooq
0a5f905c65 Initial results for cycles/op added in README 2016-09-27 15:22:51 +02:00
Umar Farooq
3e835aed10 Replace rdtsc with clock_gettime to run on Octopus machine, MPMC shows too good result--not correct most probably 2016-09-21 17:44:56 +02:00
Umar Farooq
b1890be20e Add atomic functions, memory not freed at the end due to unknown reason 2016-09-18 22:45:10 +02:00
Umar Farooq
064ebc6fbe SPSC bounded without atomic functions 2016-09-18 21:41:16 +02:00
Umar Farooq
e4d59650ed Add mpmc_test_fib to equally compare mpmc and spsc_ub 2016-09-11 15:11:32 +02:00
Umar Farooq
3e824eb469 Add cycle/op logic in spsc_ub 2016-09-11 15:10:35 +02:00
Umar Farooq
1bf29c77cf Allocate memory at the start hack for performance improvement 2016-09-11 12:58:35 +02:00
Umar Farooq
709c69023a Move previous test in spsc_ub_test.c to spsc_ub_test_fib.c. Add new default test for aomparison with MPMC, failing for now 2016-09-09 18:48:35 +02:00
Umar Farooq
8b9a5680bd Change MPMC queue to compile on Linux 2016-09-09 18:38:17 +02:00
Umar Farooq
77bcb86ca3 Use memtype_heap for unbounded SPSC queue and improve two-threaded test 2016-09-09 17:46:32 +02:00
Umar Farooq
d48be555ef Use same API interface as of MPMC for SPSC and test with simple multithreaded example 2016-09-09 16:35:59 +02:00
Umar Farooq
5cdd1c286f Minor changes to compile the unbounded SPSC queue code 2016-09-09 14:39:50 +02:00
3a62bcdff5 minor fixes for spec queue 2016-09-08 00:53:16 -04:00
be8b3d60c0 fixed renamed function in mpmc_test 2016-09-08 00:52:58 -04:00
991603c452 added spsc_test back to makefile 2016-09-08 00:52:33 -04:00
2fd94caf2c adapted coding style to VILLASnode and MPMC queue (no functional changes) 2016-09-08 00:45:30 -04:00
5e0c52fc71 added missing _Atomic specifiers 2016-09-08 00:45:30 -04:00
17d90c6bb9 added copyright 2016-09-08 00:45:29 -04:00
9a96b07b4d renamed files to be consistent with existent queues 2016-09-08 00:45:29 -04:00
4c0ee0872d Use of memory.h and split unbounded SPSC code into c and h files 2016-09-08 00:45:25 -04:00
9fd3a90e5f Unbounded SPSC queue port with simple sanity check 2016-09-08 00:44:24 -04:00
d8c0f6617b Unbounded SPSC queue port with simple sanity check 2016-09-08 00:43:20 -04:00
Umar Farooq
13117c8310 Use new mem struct from memory.h--not compiling due to c11threads.h errors 2016-08-29 17:52:23 +02:00
dc38256643 make use of new memory allocators 2016-08-28 21:16:29 -04:00
8bd3fb2010 renamed function (incorrect meaning) 2016-08-28 21:15:47 -04:00
a500ca3065 removed mpmc_queue_get() functions as they are evil on MPMC queues 2016-08-28 12:33:20 -04:00
f4bdc69f96 Splitted MPMC queue implementation into source and header file 2016-08-27 20:58:27 -04:00
f228fe3b71 Added simple component to allocate and release memory of different types 2016-08-27 20:57:46 -04:00
40e54e3bf7 Changed interface for mpmc_queue_init and mpmc_queue_destroy 2016-08-27 18:48:27 -04:00
716b1028bd updated README 2016-08-27 18:48:02 -04:00
af89e73562 renamed SPSC queue files to spsc_* 2016-08-27 18:47:07 -04:00
7dfe65ffe3 added test for MPMC queue and fixed various smaller bugs (its compiling and working now) 2016-08-27 17:45:36 -04:00
56ca6e5fb0 added C11 port of Dmitry Vyukov bounding MPMC queue 2016-08-27 17:10:46 -04:00
8eefdd3bac Renamed main.c to test.c 2016-08-27 15:57:20 -04:00
0ff8992dc8 Added multi-threaded test and support for hugepages under OS X / Darwin kernels 2016-08-27 15:55:39 -04:00
4747d3ecf0 Added C11 threads.h dop-in replacement for compilers with missing C11 thread support (almost all) 2016-08-27 15:54:36 -04:00
51f22520ee Changed a couple of CFLAGS (we need -std=c11) and removed pthread and math libraries 2016-08-27 15:52:20 -04:00
8a1ec947cd Moved wrapper functions to header and declared them as static inline to enable inline optimizations. 2016-08-27 15:02:50 -04:00
Umar Farooq
3755012083 Remove stdlib.h from queue.h 2016-08-27 15:07:37 +02:00
Umar Farooq
c4a519ab43 Implement _many versions of funcs, change test func, remove atomic funcs 2016-08-27 14:56:54 +02:00
Umar Farooq
aaf7cb4f1f some error fixes with atomic functions 2016-08-24 04:18:45 +02:00
Umar Farooq
94f82768da Initial implemetation of push and pull, build fails 2016-08-23 16:50:15 +02:00
1e881d1708 added code for Umar 2016-08-21 10:24:15 -04:00
003e31aedd added more links to readme 2016-08-15 21:41:27 -04:00
b5d645cfe9 added more links about SPSC queue theory and C++ implementations 2016-08-14 22:48:37 -04:00