Patrick Pelissier
e23691c743
Fix spelling
2019-04-24 07:47:15 +02:00
Patrick Pelissier
aaac236db6
Update README
2019-04-22 18:31:47 +02:00
Patrick Pelissier
ccccedc2d5
Rework failure messages.
2019-04-22 18:30:46 +02:00
Patrick Pelissier
446afb04c7
Remove unused macro M_INIT_FAILURE
2019-04-22 12:07:53 +02:00
Patrick Pelissier
87cd964329
Uniformize error messages
2019-04-22 11:45:29 +02:00
Patrick Pelissier
80a344e46d
Update version
2019-04-22 11:34:35 +02:00
Patrick Pelissier
f2eb5014ac
Fix regression on 32 bits for strings.
2019-04-21 23:50:42 +02:00
Patrick Pelissier
d6c72061ce
add new bench on strings
2019-04-21 23:13:29 +02:00
Patrick Pelissier
7c26fd25c9
Add SDS & RAPIDSTRING replace function implemented at used level
2019-04-21 19:54:20 +02:00
Patrick Pelissier
10e12d2b5c
Update
2019-04-21 11:21:45 +02:00
Patrick Pelissier
b9070f89d9
Update
2019-04-21 10:43:17 +02:00
Patrick Pelissier
46d41a8882
Fix bad merge
2019-04-20 12:33:09 +02:00
Patrick Pelissier
b5dc3481d4
Update doc
2019-04-20 12:33:08 +02:00
Patrick Pelissier
c18cd81dde
Add more assumes needed for static analysis.
2019-04-20 12:33:08 +02:00
Patrick Pelissier
eaf5a26157
Minor speed up
2019-04-20 12:33:08 +02:00
Patrick Pelissier
547c67b676
Modify string_t so that it can still be trivially movable once again.
2019-04-20 12:33:08 +02:00
Patrick Pelissier
c89d6ef0ce
Fix test.
2019-04-20 12:33:08 +02:00
Patrick Pelissier
a54041c340
Minor fix
2019-04-20 12:33:08 +02:00
Patrick Pelissier
352e0972cd
Comment code
2019-04-20 12:33:08 +02:00
Patrick Pelissier
91ebd7cc9f
Cleanup code
2019-04-20 12:33:08 +02:00
Patrick Pelissier
d8854c276b
Cleanup code
2019-04-20 12:33:08 +02:00
Patrick Pelissier
cc61840ae8
Refactor code
2019-04-20 12:33:08 +02:00
Patrick Pelissier
67a7a4762a
Refactor code
2019-04-20 12:33:08 +02:00
Patrick Pelissier
c28597014f
Add more hypothesis
2019-04-20 12:33:08 +02:00
Patrick Pelissier
d00f29bf26
Fix bug
2019-04-20 12:33:08 +02:00
Patrick Pelissier
1432fbabca
Update buffer to have proper alignement so that we can perform hash computation properly.
2019-04-20 12:33:08 +02:00
Patrick Pelissier
f3b6ee0190
Continue porting to new format.
2019-04-20 12:33:08 +02:00
Patrick Pelissier
229d21ef72
Add assume
2019-04-20 12:33:08 +02:00
Patrick Pelissier
00f1b1fc4f
Update comment
2019-04-20 12:33:08 +02:00
Patrick Pelissier
277d8b37af
Continue porting to new format.
2019-04-20 12:33:08 +02:00
Patrick Pelissier
7b83761ef4
Update
2019-04-20 12:33:08 +02:00
Patrick Pelissier
a96e9c7e11
Update string contract
2019-04-20 12:33:08 +02:00
Patrick Pelissier
866721d067
Add first prototype of string with stack allocation.
2019-04-20 12:33:08 +02:00
Patrick Pelissier
b356c29c89
Add PGO
2019-04-20 12:29:59 +02:00
Patrick Pelissier
a2f7cb7670
Add C Macro Collections ref
2019-04-20 10:24:20 +02:00
Patrick Pelissier
08887c1df0
Add PGO
2019-04-20 09:08:10 +02:00
Patrick Pelissier
8b0a9f2da9
Cleanup Makefile
2019-04-20 08:51:52 +02:00
Patrick Pelissier
e6c958c0df
Fix data race.
2019-04-19 07:57:10 +02:00
Patrick Pelissier
01ad221972
Rewrite RP so that writers cannot starve and avoid warnings with thread sanitizer.
2019-04-11 20:07:27 +02:00
Patrick Pelissier
c269a36e8b
Add thread test for RP_CONCURRENT
2019-04-07 19:03:03 +02:00
Patrick Pelissier
95fcd054a3
Fix error in lock orders.
2019-04-04 21:22:37 +02:00
Patrick Pelissier
7760f16260
Fix memory leaks
2019-04-04 08:31:26 +02:00
Patrick Pelissier
6d016d732b
Update tags
2019-03-31 22:37:00 +02:00
Patrick Pelissier
b9aebf875e
Update comments.
2019-03-31 22:36:52 +02:00
Patrick Pelissier
1eb0e8730d
Use algorithm with dictionary too.
2019-03-24 08:38:52 +01:00
Patrick Pelissier
7eb26a29f1
Reduce the number of mandatory operators for algorithm:
...
* EQUAL
* INIT
are not optional (methods depending on them won't be generated
if the operators are not defined).
2019-03-24 08:37:57 +01:00
Patrick Pelissier
0ef051e6d2
Add GLIB to string bench
2019-03-24 08:29:32 +01:00
Patrick Pelissier
0d641f0d17
Update documentation
2019-03-22 07:53:13 +01:00
Patrick Pelissier
ce6a7f6cb3
Add missing _it_end for normal dict & export it for both dict
2019-03-15 07:44:58 +01:00
Patrick Pelissier
07b4c1a9f4
Update image
2019-03-12 21:43:33 +01:00
Patrick Pelissier
4d3a82583d
Update doc
2019-03-12 21:43:18 +01:00
Patrick Pelissier
2835d53ef1
Clean up code.
2019-03-12 21:42:53 +01:00
Patrick Pelissier
620ecadec1
Update doc
2019-03-12 07:49:04 +01:00
Patrick Pelissier
dc803f23bb
Add missing const
2019-03-09 16:38:44 +01:00
Patrick Pelissier
a6d11fe897
Update doc (ALGO part)
2019-03-09 16:38:25 +01:00
Patrick Pelissier
78b05690e7
Update README
2019-03-07 19:28:46 +01:00
Patrick Pelissier
958a79ad73
Add another example
2019-03-07 19:25:39 +01:00
Patrick Pelissier
ead25c905a
Factorize common macro for FLA
2019-03-07 07:42:50 +01:00
Patrick Pelissier
97f80450ca
Update issue
2019-02-21 20:19:04 +01:00
Patrick Pelissier
8e62537604
Update ISSUE
2019-02-20 11:46:58 +01:00
Patrick Pelissier
7813182e2b
Update test.
2019-02-19 20:22:55 +01:00
Patrick Pelissier
b199fef674
Update comments and move commented asm into common function.
2019-02-18 11:02:13 +01:00
Patrick Pelissier
e27c06c227
Fix regression build with SDS & rapidstring
2019-02-18 10:55:51 +01:00
Patrick Pelissier
41b04f34e2
Fix: Uses of __thread after static keyword
2019-02-18 10:53:27 +01:00
Patrick Pelissier
b091f84f90
Update code after benching empty creation of string.
2019-02-18 10:48:03 +01:00
Patrick Pelissier
05ae9f382b
Update the barrier used to prevent the compiler from over-optimizing.
...
Shall be could enought except if using FLTO.
2019-02-18 10:47:28 +01:00
Patrick Pelissier
a36efcd888
Create new helper compiler_barrier to prevent compiler from over-optimizing bench.
2019-02-18 10:46:21 +01:00
Patrick Pelissier
af2fe9ccf9
Fix issue (sizeof instead of offsetof)
2019-02-17 09:54:56 +01:00
Patrick Pelissier
c4a5727c2a
Fix deref of NULL pointer.
2019-02-17 09:50:04 +01:00
Patrick Pelissier
31ca762c62
Add a new test case for empty string.
2019-02-17 09:49:49 +01:00
Patrick Pelissier
30bda70319
Fix issue.
2019-02-17 09:36:18 +01:00
Patrick Pelissier
7fa9d375b8
Add bench of small non empty constructor
2019-02-17 08:35:11 +01:00
Patrick Pelissier
91ae3fd4f2
Add memory barrier to limiting the effect of the optimizer on inline implementation
2019-02-16 23:20:36 +01:00
Patrick Pelissier
b00d6a9655
Add CSV output to string bench
2019-02-16 22:30:39 +01:00
Patrick Pelissier
013aa58524
Update documentation
2019-02-16 09:01:57 +01:00
Patrick Pelissier
8ce7e0483f
Update comment
2019-02-13 08:24:21 +01:00
Patrick Pelissier
582c413cd2
Add VLA allocation compatible with concurrent mempool & gc
2019-02-13 08:19:07 +01:00
Patrick Pelissier
22e16e983b
Separate mempool in two concepts:
...
* A Garbage Collector that centralizes the connexion with the threads
and registers all mempools
* the mempool that is responsible for alloc/dec of nodes.
It allows having multiple mempools registered in a GC.
2019-02-10 10:26:20 +01:00
Patrick Pelissier
7c0c16260a
Update doc
2019-02-05 22:56:02 +01:00
Patrick Pelissier
e496fbd152
Add test for string_t + OA DICT
2019-01-27 22:59:03 +01:00
Patrick Pelissier
e025de91ab
Adding OOR methods for string_t
2019-01-27 22:32:47 +01:00
Patrick Pelissier
69e2fc432f
Update doc about limitation of operator TEST_EQUAL
2019-01-27 21:16:19 +01:00
Patrick Pelissier
78ba83ce42
* Fix BOUNDED_STRING_CTE macro. In OOR context, it may create invalid constant that triggers
...
assumption fault.
* Fix _equal_p in OOR context for bounded string. This method can be called in OOR context,
so the contracts may not be verified.
2019-01-27 17:33:47 +01:00
Patrick Pelissier
6d9b61c119
Reindent
2019-01-27 17:33:17 +01:00
Patrick Pelissier
61cfa5cedd
Use of proper contract for BOUNDED_STRING.
2019-01-26 14:00:32 +01:00
Patrick Pelissier
0507d94306
Add test for IO for BOUNDED STRING
2019-01-26 13:39:47 +01:00
Patrick Pelissier
7e8919080b
Add IO for BOUNDED STRING
2019-01-26 13:38:54 +01:00
Patrick Pelissier
8406efcaab
Add test case of BOUNDED_STRING + OA DICT
2019-01-26 12:03:13 +01:00
Patrick Pelissier
2d87eb1e6a
Adding default OOR_EQUAL & OOR_SET for BOUNDED_STRING
...
to be used in OA dict
2019-01-26 12:02:50 +01:00
Patrick Pelissier
4685aac454
Add test for hash of empty string
2019-01-26 09:10:36 +01:00
Patrick Pelissier
9863a8325c
Fix assertion. NULL pointer is accepted for HASH providing the size is 0
2019-01-26 09:10:18 +01:00
Patrick Pelissier
b9514cbe72
Fix usage of API with OOR EQUAL of OA Dict
2019-01-25 20:37:33 +01:00
Patrick Pelissier
7b085d18fc
Add test case of OA DICT + concurrent
2019-01-25 20:19:52 +01:00
Patrick Pelissier
91e73520f3
Fix issue of non being able to use API_2 with OOR_SET for OA dict
2019-01-25 20:19:31 +01:00
Patrick Pelissier
aebf5c83ba
Update description of STORED_HASH dict as per remark of #44
2019-01-25 19:47:47 +01:00
Patrick Pelissier
42ff47f511
Fix issue described in #44 (missing types for OA dict)
2019-01-25 19:47:46 +01:00
Patrick Pelissier
746bdf144b
Fix warning with CLANG7
2019-01-24 07:44:36 +01:00
Patrick Pelissier
4e8f5f7b51
Add test for queue SPSC
2019-01-21 22:20:28 +01:00
Patrick Pelissier
50d89f71cb
Update
2019-01-21 22:06:31 +01:00
Patrick Pelissier
d70ef53283
Add _push_force for QUEUE SPSC
2019-01-20 23:59:33 +01:00