Patrick Pelissier
4b1ed25ef3
Rewrite inner loop. should be a little bit faster.
2018-05-11 22:41:00 +02:00
Patrick Pelissier
a5ac43e5f3
Fix issue with oplist of set.
2018-05-11 17:57:33 +02:00
Patrick Pelissier
0557527bfe
Update format of serialisation for B+TREE:
...
as the tree is ordered, a '[]' has to be used.
2018-05-11 17:32:32 +02:00
Patrick Pelissier
dc1445e0d6
Remove TODO comment.
2018-05-10 23:12:38 +02:00
Patrick Pelissier
431401bc96
Improve example.
2018-05-10 01:59:05 +02:00
Patrick Pelissier
fded6c404a
Add new libraries.
2018-05-10 01:34:20 +02:00
Patrick Pelissier
680a850618
Add test of _in_str, _out_str, _get_str and _parse_str
2018-05-09 21:48:42 +02:00
Patrick Pelissier
7d08a7ba1a
Fix issue in _parse_str
2018-05-09 21:48:32 +02:00
Patrick Pelissier
e9f603fa30
Rename internal calls to my_mpz* to testobj*
2018-05-08 10:40:29 +02:00
Patrick Pelissier
1a064e033b
Rename mympz.h --> test-obj.h
...
as it is used only for testing purpose.
2018-05-08 10:29:51 +02:00
Patrick Pelissier
ebcfcf9bfa
Add I/O test for B+TREE
2018-05-07 23:08:47 +02:00
Patrick Pelissier
cf063b75ff
Update oplist to reflect all methods.
2018-05-07 23:08:12 +02:00
Patrick Pelissier
951a9d7989
Fix issue in parse.
2018-05-07 23:08:01 +02:00
Patrick Pelissier
37191a53c3
Fix unclear variable.
2018-05-04 00:14:52 +02:00
Patrick Pelissier
42d420db6a
Add generation for string.
2018-05-03 22:12:32 +02:00
Patrick Pelissier
122cf63a3f
Preshift the state by 8, to avoid a shift within the decoder.
...
Rewrite the size_u to avoid a branch.
2018-05-03 22:11:43 +02:00
Patrick Pelissier
fafce60f9e
Add method _parse_str
...
NOTE: _in_str, _out_str, _get_str & _parse_str remain to be tested.
2018-05-03 18:06:11 +02:00
Patrick Pelissier
e855f27c8c
Add method _parse_str for RBTREE.
...
NOTE: A refactorisation seems needed as all the in_str / parse_str
share a lot of the same algorithms. Maybe move them into algo?
2018-05-03 17:59:34 +02:00
Patrick Pelissier
f01a593ff7
Update
2018-05-03 17:59:21 +02:00
Patrick Pelissier
6af34b1c16
Update doc to add _parse_str method
2018-05-03 17:51:36 +02:00
Patrick Pelissier
188b329eae
Add method _parse_str for dict.
2018-05-03 17:43:40 +02:00
Patrick Pelissier
7b0f71cc99
Add method _parse_str for deque
...
(missing tests for in, out, get_str & parse_str).
2018-05-03 17:34:17 +02:00
Patrick Pelissier
73f8baf464
Add method _parse_str for array.
2018-05-03 17:29:10 +02:00
Patrick Pelissier
3a09efde91
Skip spaces in serialisation.
2018-05-03 17:22:50 +02:00
Patrick Pelissier
4efa8c1ef9
Add function _parse_str for list.
2018-05-03 17:14:10 +02:00
Patrick Pelissier
9f178208f2
Fix bug in new function.
2018-05-03 17:13:47 +02:00
Patrick Pelissier
0f2113ee12
Fix
2018-05-03 17:03:09 +02:00
Patrick Pelissier
139e003b0b
Add method _parse_str for variant.
2018-05-03 17:01:03 +02:00
Patrick Pelissier
1bf80cf315
Add function _parse_str
2018-05-03 13:37:19 +02:00
Patrick Pelissier
bcf182f515
Add _parse_str method
2018-05-03 13:30:39 +02:00
Patrick Pelissier
c34fb94e77
Proper export of the method PARSE_STR
2018-05-03 13:19:36 +02:00
Patrick Pelissier
64080fadd3
Update comments.
2018-05-03 13:07:52 +02:00
Patrick Pelissier
1009cd6ed4
Export _parse_str function.
2018-05-03 13:05:45 +02:00
Patrick Pelissier
839c1af124
Export _parse_str function.
2018-05-03 13:04:04 +02:00
Patrick Pelissier
6b24842704
Add _parse_str interface.
...
Rewrite _set_str to use the _parse_str
2018-05-03 12:59:58 +02:00
Patrick Pelissier
2ad8ae3451
Rewrite parse_str interface to be more like strol
2018-05-03 12:59:10 +02:00
Patrick Pelissier
b1597f6f61
Rewrite comments.
2018-05-02 23:57:24 +02:00
Patrick Pelissier
47a49263ae
Add function _parse_str for string.
2018-05-02 19:36:51 +02:00
Patrick Pelissier
9fed336c9e
Add proper const to prototype.
2018-05-01 12:44:43 +02:00
Patrick Pelissier
ac5b689950
Add method _set2 for tuple.
2018-04-30 20:00:26 +02:00
Patrick Pelissier
3d43bb260a
Update
2018-04-30 13:32:24 +02:00
Patrick Pelissier
2eaeb26d4c
Make Serialization input of array / dict more flexible
...
by supporting space characters within the input.
2018-04-30 11:02:42 +02:00
Patrick Pelissier
34d0f8ec81
Add missing function for variant:
...
variant_init_element
variant_init_set_element
2018-04-30 10:24:37 +02:00
Patrick Pelissier
ddc1c7e98f
Update to display checksum correctly.
2018-04-30 08:24:31 +02:00
Patrick Pelissier
e41475f672
Rewrite
2018-04-29 11:52:19 +02:00
Patrick Pelissier
e954622925
Rewrite
2018-04-29 11:48:02 +02:00
Patrick Pelissier
fae899e52e
Add benchmark udb2.
2018-04-29 10:45:03 +02:00
Patrick Pelissier
7b11f5afbc
Add benchmark UDB
2018-04-28 19:44:52 +02:00
Patrick Pelissier
40c0bf79b1
Update
2018-04-28 19:09:30 +02:00
Patrick Pelissier
df2df593b6
Replace complex convertion from int to string into a simple call to to_string
2018-04-27 21:54:57 +02:00
Patrick Pelissier
1dc59d610d
Use of new function m_thread_yield
2018-04-27 21:54:34 +02:00
Patrick Pelissier
8fc8decd09
Add m_thread_yield & m_thread_sleep.
...
Rewrite the windows package (it wasn't fully working before) and use functions
available since WINDOWS VISTA (increasing minimum supported version).
2018-04-27 20:12:44 +02:00
Patrick Pelissier
08f44845ce
Fix issue for SPSC queue:
...
computing the number of elements in the queue is not reliable enough
as we can get more than than the size of the queue.
2018-04-26 22:41:11 +02:00
Patrick Pelissier
4fbffc4788
Use plain 'unsigned int' instead of 'unsigned long long'
...
for index of SPSC queues. There is no issue as we don't compare
the index, but only substract them.
2018-04-26 22:38:43 +02:00
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