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
Patrick Pelissier
e09fa89781
Little bit rewrite to help the compiler optimizes the loop a bit more:
...
as the variables are not longer on the stack, it uses more registers
and more instructions in the critical loop than before. By
copying the data into stack local variable, the compiler is once again
able to optimize the loop properly.
2018-04-14 08:07:01 +02:00
Patrick Pelissier
70b1421114
Update after review
2018-04-13 20:56:48 +02:00
Patrick Pelissier
b80a30785a
Fix
2018-04-13 20:28:57 +02:00
Patrick Pelissier
c3245ac301
Full refactorisation and proper use of M*LIB.
...
Should be as fast as before.
2018-04-13 20:28:01 +02:00
Patrick Pelissier
085d5b411c
Add oplist for B*TREE
2018-04-13 20:16:23 +02:00
Patrick Pelissier
8c26d6d0b5
Update
2018-04-12 23:39:19 +02:00
Patrick Pelissier
76f5085e84
Merge branch 'master' of https://github.com/P-p-H-d/mlib
2018-04-11 22:42:46 +02:00
Patrick Pelissier
80d78e3270
Add bounded string cte macro
2018-04-11 22:42:22 +02:00
Patrick Pelissier
654521b74c
Add some tests of _equal_p
2018-04-10 23:25:04 +02:00
Patrick Pelissier
353d2d4cc9
Fix issue in copy of B*TREE:
...
the _next field wasn't properly set for the deepest nodes.
2018-04-10 23:23:36 +02:00
Patrick Pelissier
b38d84419a
Add methods hash, eqal_p, out_str, in_str & get_str
...
Format of serialisation needs to be properly uniformised between:
dictionnary,
red-black tree,
set,
b+tree with key,value,
b+tree with only key.
2018-04-09 18:42:34 +02:00
Patrick Pelissier
0d085771e4
Add tests for new methods
2018-04-09 18:07:03 +02:00
Patrick Pelissier
f3b2b6b41e
Add methods _swap, _move & _init_move
2018-04-09 18:06:48 +02:00
Patrick Pelissier
fb35ad7ab3
Update due no new LIBSRT API.
2018-04-08 21:43:25 +02:00
Patrick Pelissier
cf6e721994
Fix wrong usage of CollectionC by the benchmark.
2018-04-08 21:32:57 +02:00
Patrick Pelissier
9faea5ff15
Rewrite bench code so that it computes what is expected.
2018-04-08 21:10:29 +02:00
Patrick Pelissier
fe18009bc0
Rewrite the loop so that the result is the same for dict and dict_oa.
2018-04-08 21:07:20 +02:00
Patrick Pelissier
10f900ea3e
Rewrite code to avoid warning if optimisations are turned on.
2018-04-08 20:27:37 +02:00
Patrick Pelissier
63874694f8
Rewrite the code to avoid some silly warnings on some implementation.
2018-04-08 20:01:04 +02:00
Patrick Pelissier
9b9e246e66
More tests
2018-04-08 11:16:31 +02:00
Patrick Pelissier
e6a6eb9be5
Fix issue in it_from for B+TREE
2018-04-08 11:13:48 +02:00
Patrick Pelissier
050bb5dbfa
Add tests for it_from & it_to_p for B+TREE
2018-04-08 11:13:22 +02:00
Patrick Pelissier
b005ec1845
Fix function max for B+TREE
2018-04-08 10:48:02 +02:00
Patrick Pelissier
f158a94e0a
Add tests for min & max
2018-04-08 10:47:52 +02:00
Patrick Pelissier
a166620a6d
Add method _from, _to_p, _min & _max for B+TREE
2018-04-08 10:39:27 +02:00
Patrick Pelissier
47fb467878
Add basic it test for B+tree
2018-04-08 07:24:56 +02:00