Patrick Pelissier
8cf4050d3d
Remove uneeded alignment constraint for SPSC queue.
2018-04-26 22:26:30 +02:00
Patrick Pelissier
31c18fc56d
Bench SPSC queues too.
2018-04-26 22:05:54 +02:00
Patrick Pelissier
005207cfd6
Remove a warning in release mode.
2018-04-26 22:05:36 +02:00
Patrick Pelissier
c8d668ad96
Merge branch 'master' of https://github.com/P-p-H-d/mlib
2018-04-25 22:04:42 +02:00
Patrick Pelissier
a39c4ba9a4
Rewrite the code by adding an additional cast to avoid new warning with GCC8.
2018-04-25 22:03:52 +02:00
Patrick Pelissier
f4deea05bf
Update doc.
2018-04-24 22:42:19 +02:00
Patrick Pelissier
1c18133603
Close the handle of the thread in case of joining thread.
2018-04-22 19:30:24 +02:00
Patrick Pelissier
15566b4b65
Add bench of library SDS for string
2018-04-21 18:53:38 +02:00
Patrick Pelissier
737185752c
Merge branch 'master' of https://github.com/P-p-H-d/mlib
2018-04-21 12:46:26 +02:00
Patrick Pelissier
a12e3534c6
Rewrite I/O functions so that they handle properly
...
non printable characters.
2018-04-21 10:26:05 +02:00
Patrick Pelissier
51575b341b
Use of static library for liblfds.
2018-04-20 22:24:20 +02:00
Patrick Pelissier
06b330ec51
Update doc
2018-04-20 21:44:59 +02:00
Patrick Pelissier
e0a6bce5b0
Add SDS
2018-04-20 21:43:19 +02:00
Patrick Pelissier
da07a5b613
string_strim allows optionnal second argument which list the characters to strim.
2018-04-20 20:46:44 +02:00
Patrick Pelissier
fbbca37b55
Ignore a*.dat file too.
2018-04-20 19:51:56 +02:00
Patrick Pelissier
7fa1c2264e
Fix issue for C++ layer (memory order constants have to be put in the current namespace too).
2018-04-20 19:34:22 +02:00
Patrick Pelissier
dcfbe53713
Fix conformity bug in _splice.
2018-04-20 19:30:45 +02:00
Patrick Pelissier
8b2993c979
Add more assertions to help scan-build with false positive.
2018-04-20 19:30:15 +02:00
Patrick Pelissier
131da660c8
Fix bug in _clean.
2018-04-20 19:30:01 +02:00
Patrick Pelissier
f3de34a62b
Optimization for MPMC queues:
...
* use of atomic_explicit functions to give the memory order we want,
* reduce the size of the index to unsigned int: even if there is an
overflow, it doesn't matter as we don't compare the index with < or >
but with ==.
2018-04-19 22:15:37 +02:00
Patrick Pelissier
928d6bafcb
Fix issue if there is no working stdatomic / atomic header:
...
definition of atomic_compare_exchange_strong_explicit was wrong.
Same for atomic_compare_exchange_weak_explicit
2018-04-19 22:14:16 +02:00
Patrick Pelissier
704fb0cbd9
Add a cast to avoid a warning with some compilers
...
(I am not sure the warning was justified).
2018-04-19 22:13:53 +02:00
Patrick Pelissier
3be27aefa3
Fix the format for size_t
2018-04-19 22:13:27 +02:00
Patrick Pelissier
8be81ac09e
Update the list of tested systems.
2018-04-19 22:13:05 +02:00
Patrick Pelissier
e2fc9c3699
Update
2018-04-19 20:21:54 +02:00
Patrick Pelissier
472eaff6f0
Add gene queue
2018-04-19 20:20:18 +02:00
Patrick Pelissier
805b016aee
Reformat test and reduce pressure on thread creation for some tests
...
(Some systems didn't handle so much thread creation).
2018-04-17 23:01:05 +02:00
Patrick Pelissier
624a13ba1a
Update version with added parallelism for long computation.
2018-04-17 00:00:56 +02:00
Patrick Pelissier
9692bf3991
Start list of API breakage.
2018-04-17 00:00:29 +02:00
Patrick Pelissier
3f5406f1d4
API breakage:
...
worker_sync takes an extra parameter (worker_t) to perform a
wait-on-event instead of a busy waiting, reducing consummer ressources.
worker_init takes an int instead of an unsigned int for the number of workers.
It allows additional extra value -1 to initialize the number of workers to
twice the number of CPU, allowing to overload the CPU with loads and keep
them fully working in some scenario.
2018-04-16 23:57:28 +02:00
Patrick Pelissier
b684a62f8b
Add more local information about the origin of a failure.
2018-04-16 22:05:17 +02:00
Patrick Pelissier
6bb94db22f
Add function dict_splice
2018-04-15 21:02:14 +02:00
Patrick Pelissier
d70a971d2e
Add note
2018-04-15 20:59:04 +02:00
Patrick Pelissier
b05b515f3d
Reformat
2018-04-15 20:58:52 +02:00
Patrick Pelissier
12b15e0037
Add function array_splice just like function list_splice
...
as it can be done faster at low level.
2018-04-15 11:41:32 +02:00
Patrick Pelissier
2c9169308b
Add code generation for OA dict
2018-04-15 10:53:55 +02:00
Patrick Pelissier
74a3d50c88
Minor optimization for _clean
...
No need to fill in the complete array with invalid param
as the array will be reduced.
2018-04-15 10:53:15 +02:00
Patrick Pelissier
6b8bb33221
Convert unsigned long to size_t in function prototypes for 32 bits systems.
2018-04-15 01:10:49 +02:00
Patrick Pelissier
175fb46508
Fix issue for 32 bits system
2018-04-15 00:48:31 +02:00
Patrick Pelissier
2f65400641
Add target checkall to lanch the test suite wih multiple compilers / options.
2018-04-15 00:40:48 +02:00
Patrick Pelissier
b5f4f2fc4b
Finish splitting m_core_clz into m_core_clz32 & m_core_clz64
2018-04-15 00:10:38 +02:00
Patrick Pélissier
8c34f44dae
Finish fixing for 32 bits / clz
2018-04-14 23:14:21 +02:00
Patrick Pélissier
d97f46133b
Fix issue for 32 bits systems
...
mpz_core_clz wasn't reproductible for 32 bits system.
2018-04-14 23:08:53 +02:00
Patrick Pélissier
a94a5feb84
Fix issue with 32 bits systems (size_t != unsigned long)
2018-04-14 20:52:29 +02:00
Patrick Pelissier
ead5d7511a
Use of proper oplist with the CMP method.
2018-04-14 08:33:37 +02:00
Patrick Pelissier
1cd7446013
Add more instantiation of the containter
2018-04-14 08:27:26 +02:00
Patrick Pelissier
40747a463b
Remove dependecies from GMP header, allowing to run the test suite without GMP
2018-04-14 08:16:31 +02:00
Patrick Pelissier
8e20118ab6
Reformat
2018-04-14 08:12:58 +02:00
Patrick Pelissier
19f330e670
Rename also MYMPZ2_OPLIST into MY_MPZ_CMP_OPLIST
2018-04-14 08:12:27 +02:00
Patrick Pelissier
20d549b5e1
Rename MYMPZ_OPLIST into MY_MPZ_OPLIST
2018-04-14 08:11:14 +02:00