Commit Graph
100 Commits
Author SHA1 Message Date
Patrick Pelissier 76b4e15bb0 Fix issue with printf formatting. 2017-08-11 19:56:24 +02:00
Patrick Pelissier 670502fc2d Fix issue with GCC < 4.9 2017-08-11 19:51:52 +02:00
Patrick Pelissier f805c810b7 Forgot to port this code. 2017-08-10 23:50:17 +02:00
Patrick Pelissier 35a391c029 Add bench of google dense hash map. 2017-08-10 23:28:52 +02:00
Patrick Pelissier 0c5dd89778 Add iterators for deque 2017-08-10 22:23:19 +02:00
Patrick Pelissier 010f397349 Rename string_get_length into string_size
<== Uniformisation with the other containers.
2017-08-09 23:44:27 +02:00
Patrick Pelissier ee053a901a Clean up code. 2017-08-09 23:39:57 +02:00
Patrick Pelissier 879e6da1d3 Update TODO 2017-08-09 23:39:40 +02:00
Patrick Pelissier d71f5cbc4a Update TODO 2017-08-09 22:39:15 +02:00
Patrick Pelissier c087268884 Add ILIST_CONTRACT into the list of the macros not to be expanded for coverage. 2017-08-08 22:58:38 +02:00
Patrick Pelissier 98f383052e Add MILIST_CONTRACT
Add ilist_splice
2017-08-08 22:57:56 +02:00
Patrick Pelissier b9015c85db Update comments. Make cast compatible with C++. 2017-08-08 22:57:33 +02:00
Patrick Pelissier a8f124ed9b Fix issue with C++ & G++ 4.9 2017-08-08 20:11:13 +02:00
Patrick Pelissier 75e7cdf3b2 Fix issue with C++ 2017-08-08 20:11:03 +02:00
Patrick Pelissier b63313dfcc Added a new wrapper. 2017-08-08 20:02:39 +02:00
Patrick Pelissier fa6d787ac8 Update doc 2017-08-07 22:57:18 +02:00
Patrick Pelissier 5f737b3b65 Fix overflow issue. 2017-08-06 23:13:49 +02:00
Patrick Pelissier 31c6459201 Fix overflow issue. 2017-08-06 23:12:29 +02:00
Patrick Pelissier a4946a39bc Fix overflow issue. 2017-08-06 23:05:21 +02:00
Patrick Pelissier 14c50a5b9a Fix overflow issues when computing new size for the array. 2017-08-06 22:39:42 +02:00
Patrick Pelissier fb7eed3c15 Update generation example. 2017-08-06 22:38:48 +02:00
Patrick Pelissier f0c03853f8 Do not activate strlen assume for debug mode.
This will make debug mode faster.

It also fixes a problem with GCC7 which makes
**release**mode slower (since it called strlen!)
2017-08-06 18:29:09 +02:00
Patrick Pelissier ccf9bd3ebb Add more assertions 2017-08-06 11:50:11 +02:00
Patrick Pelissier 17a901faa2 Minor fixes 2017-08-06 11:48:15 +02:00
Patrick Pelissier 5c5fbd9bf0 Remove warnings for some compilers. 2017-08-05 19:26:50 +02:00
Patrick Pelissier c3b66e053a Add 'ftrapv' for running the test suite. 2017-08-05 19:26:24 +02:00
Patrick Pelissier e0abba3452 Update 2017-08-05 18:24:42 +02:00
Patrick Pelissier 1415589c6d Fix issue with deque 2017-08-05 18:21:41 +02:00
Patrick Pelissier 07c251e5ca Add test suite for deque 2017-08-05 18:21:14 +02:00
Patrick Pelissier ec4aa2a93a Add first version of m-deque 2017-08-05 18:05:44 +02:00
Patrick Pelissier f7277884a6 Fix issue for intrusive list & free :
we read the next pointer after freeing the memory !
2017-08-05 13:06:04 +02:00
Patrick Pelissier ae534b4008 Update documentation of intrusive list. 2017-08-05 12:46:04 +02:00
Patrick Pelissier c7997fdd16 Update the benchmark to add more dependency in the computation to avoid
too agressive compiler optimisations.
2017-08-03 21:28:42 +02:00
Patrick Pelissier 2efe03f177 Fix issue with GCC 7 2017-08-02 23:15:54 +02:00
Patrick Pelissier ad24e936c6 Add bench over strings (taken from bstring) 2017-08-02 22:50:23 +02:00
Patrick Pelissier a780a7d144 Add string_pbrk 2017-08-02 22:24:12 +02:00
Patrick Pelissier 7165740af3 Add function string_replace_at
(Compatible with C++ interface)
2017-08-02 22:02:49 +02:00
Patrick Pelissier 750de41984 Replace FREE method by DEL method as it is a single object. 2017-08-01 23:08:15 +02:00
Patrick Pelissier eb769c7b20 Add new functions to intrusive lists:
* next_obj
* previous_obje
* it_remove

clear function will call clear operator from the type
and if defined, also the free operator on the object
of the list.
2017-08-01 22:57:13 +02:00
Patrick Pelissier f62a796fbe Update doc. 2017-07-30 18:30:32 +02:00
Patrick Pelissier 8f213d20a5 Replace iteration + splice_back by calling spimply _splice. 2017-07-29 13:04:06 +02:00
Patrick Pelissier 80c273e6e2 Remove dict_ prefix for dictionnary.
See commit on shared-pointer.
2017-07-29 13:01:38 +02:00
Patrick Pelissier f8a1832fce Fix conflict between the specialized version of sort in array
and the generic version in algo so that we can use the same
prefix for both generation.
2017-07-27 22:19:27 +02:00
Patrick Pelissier 34943e5b2a Remove array_ prefix from ARRAY_DEF
See commit on shared pointers.
2017-07-27 22:16:15 +02:00
Patrick Pelissier 4cb92a92b8 Remove list_ prefix from all lists.
See commit on shared-pointers.
Rename the iteration type to be prefix by name list_it_name_t ==> name_it_t
2017-07-27 21:40:35 +02:00
Patrick Pelissier 7a49348a4d Fix forgotten convertion. 2017-07-27 19:45:40 +02:00
Patrick Pelissier 7d2848e16a Remove rbtree_prefix from Red Black Tree.
(See commit on shared-pointer).

Rename rbntree_name_it_t into name_it_t.

Update tests, documentation, bench in accordance.
2017-07-26 22:56:25 +02:00
Patrick Pelissier 8f33273d7e Compatibility with Windows platform. 2017-07-26 21:12:35 +02:00
Patrick Pelissier b49e286ae2 Remove prefix mempool from mempools.
See commit about shared pointer.
2017-07-25 23:03:23 +02:00
Patrick Pelissier 5e6fb73898 Fix also buffer renaming for the benchmark. 2017-07-25 23:01:33 +02:00
Patrick Pelissier a69c67e850 Remove buffer prefix from buffers.
See commit on shared pointer.
2017-07-25 22:52:19 +02:00
Patrick Pelissier 8a716cd4f4 Remove prefix snapshot from snapshot.
See previous commit on shared pointer.
2017-07-25 22:44:17 +02:00
Patrick Pelissier 62e2024658 Rename type into name for oplist definition. 2017-07-25 22:37:51 +02:00
Patrick Pelissier e30dcfe785 Update REAMED after last changes. 2017-07-25 22:30:11 +02:00
Patrick Pelissier 187da9db6b Adding bench of qlibc. 2017-07-25 22:29:54 +02:00
Patrick Pelissier da9d87bf4b Remove ilist_ prefix from Intrusive List
See commit on Shared Pointer
Additional Fix:* the iterator name is also impacted
and shall be converted in the sources (_it_ change from being a prefix to a suffix).
2017-07-25 22:27:48 +02:00
Patrick Pelissier ad27d331a1 Remove ishared prefix from the Intrusive Shared Port
See commit on shared pointer.
2017-07-25 22:27:00 +02:00
Patrick Pelissier 5a67582fc0 Fix comment. 2017-07-25 22:26:43 +02:00
Patrick Pelissier 5ac617f7fb Update Makefile after adding qlibc. 2017-07-25 22:26:06 +02:00
Patrick Pelissier e8c952def8 Remove prefix shared_ from all definition of the functions / types of shared pointer.
This make the name shorter, give the user full control over the prefix,
give the user full power over the name,
allow more flexibility over the kind of container (allowing switch quickly),
and uniformize with variant_, tuple_ & algo_.
This is better than the current situation and all containers will switch.

==> Break API compatibility:
To fix this quickly, just add shared_ before the name into the
macro SHARED_PTR_DEF & SHARED_OPLIST.
This will generate the same name than before.
2017-07-25 22:19:08 +02:00
Patrick Pelissier 19ed56f37f Remove useless instruction 2017-07-25 20:23:20 +02:00
Patrick Pelissier 26224b889d Add UTHASH bench 2017-07-23 22:12:22 +02:00
Patrick Pelissier 9b90ada06d Update Makefile with new targets. 2017-07-23 11:49:30 +02:00
Patrick Pelissier 28af3522d1 Update Makefile for both new bench 2017-07-23 10:56:37 +02:00
Patrick Pelissier b1b017e14f Add bench for Hopscotch map 2017-07-23 10:56:06 +02:00
Patrick Pelissier 2de528b703 Add bench for Flat hash Map 2017-07-23 10:55:47 +02:00
Patrick Pelissier 8b6246695f Add big dict hash test. 2017-07-22 20:02:07 +02:00
Patrick Pelissier 660ae3dd5b Add dictionnary test. 2017-07-22 19:25:17 +02:00
Patrick Pelissier 7e651907c0 Fix issue with the computation (orders of the call to rand_get) 2017-07-22 19:24:10 +02:00
Patrick Pelissier 05bdf16d1c Add tree benchmark for tommyds 2017-07-22 13:22:48 +02:00
Patrick Pelissier 2c83f6f444 Add bench for Tommy DS 2017-07-22 13:11:29 +02:00
Patrick Pelissier 5bf3a812c1 Add benchmark for sorting function. 2017-07-22 00:34:00 +02:00
Patrick Pelissier 6fe1fbd7cb Add bench for hashtable of CollectionsC
but expected results are incorrect.
Need to check if there is a bug in the bench.
2017-07-22 00:13:43 +02:00
Patrick Pelissier d3669fab53 Fix issue: do not compute the good result of the benchmark. 2017-07-20 13:40:40 +02:00
Patrick Pelissier f091f6fe49 Display the result of the benchmark
(shall be the same for all libraries)
2017-07-20 13:35:05 +02:00
Patrick Pelissier cb79fd9d41 Add treetable for CollectionsC 2017-07-20 10:15:03 +02:00
Patrick Pelissier cc4fea3d68 Add test of the list. 2017-07-19 23:57:55 +02:00
Patrick Pelissier 5a895d785c Rename benched library. 2017-07-19 23:44:42 +02:00
Patrick Pelissier 7980cf0f80 Add bench for libcollection. 2017-07-19 23:26:39 +02:00
Patrick Pelissier 38c15cebe2 Add statistics about how much overwrite has been done by the buffer.
Unlikley the test about overwrite.
2017-07-19 22:46:53 +02:00
Patrick Pelissier 8a0755b863 Do not expand the contract macro of the buffer for the coverage. 2017-07-19 22:39:00 +02:00
Patrick Pelissier b241933556 Properly introduce contract for buffers. 2017-07-19 22:38:01 +02:00
Patrick Pelissier 5616887369 Take into account review. 2017-07-19 22:09:04 +02:00
Patrick Pelissier 681949c480 Document the Red Black Tree API. 2017-07-19 22:04:31 +02:00
Patrick Pelissier 9309bb64d5 Add new bench for m*lib buffer. 2017-07-18 19:26:54 +02:00
Patrick Pelissier 749cd43306 Remove warning in release mode. 2017-07-18 19:26:27 +02:00
Patrick Pelissier f52a3129a7 iAdd function get_cpu_count. 2017-07-18 19:26:09 +02:00
Patrick Pelissier a85188985e Update doc. 2017-07-17 22:40:22 +02:00
Patrick Pelissier 50e4fc482d Improve coverage. 2017-07-17 13:37:56 +02:00
Patrick Pelissier c9c5768022 Merge branch 'master' of https://github.com/P-p-H-d/mlib 2017-07-17 11:48:46 +02:00
Patrick Pelissier b49640214d Test new function. 2017-07-17 00:00:21 +02:00
Patrick Pelissier d44c60670e Add function equal_p. 2017-07-16 23:59:55 +02:00
Patrick Pelissier b955eab0a8 Improve coverage. 2017-07-16 23:51:04 +02:00
Patrick Pelissier c0f7ae188b Improve quality of coverage report. 2017-07-16 23:50:29 +02:00
Patrick Pelissier 4a147a9056 Update Makefile to reflect new bench. 2017-07-16 23:50:12 +02:00
Patrick Pelissier 1abf575c1c Update example with new constraints on map/reduce prototype. 2017-07-16 11:32:08 +02:00
Patrick Pelissier 98bea7be6c Add new bench for sparsepp library.
See https://github.com/greg7mdp/sparsepp
2017-07-16 11:09:44 +02:00
Patrick Pelissier e77e507b51 Add function reserve for OA dictionnary. 2017-07-15 23:30:00 +02:00
Patrick Pelissier 9f55764009 Add new function to round to the next power of 2. 2017-07-15 23:27:29 +02:00
Patrick Pelissier 9078fb9cd0 Update comment after measurements. 2017-07-15 22:40:01 +02:00