Patrick Pelissier
4ba55dc3ca
Rename new USE directive to be uniform with string one.
2024-06-08 00:08:27 +02:00
Patrick Pelissier
2c0db40158
Simplify logic for set_at of both dict,
...
(after analyzing which condition is likely)
which should help code size & performance
a little bit.
2024-06-01 23:49:08 +02:00
Patrick Pelissier
8987288a10
Fix spelling
2024-06-01 11:05:35 +02:00
Patrick Pelissier
cf8c2afddd
Fix warning on previous modification
2024-06-01 11:03:39 +02:00
Patrick Pelissier
0a8e336037
Fix internal & subtil issue
...
when comparing two methods to check for their presence in an oplist, we may generate the name of an already existing macro.
For example, in the oplist (SIZE())
when we expanded we get the macro M_ADD_SIZE to check if ADD is present,
but M_ADD_SIZE is an already existing macro, which generates an error.
To avoid this issue, define a prefix for the definition of the operators (M_X)
2024-06-01 10:47:21 +02:00
Patrick Pelissier
e7e29d913e
Add new example of variant
2024-06-01 10:16:59 +02:00
Patrick Pelissier
f3ebc8c7eb
Update comments
2024-06-01 10:16:47 +02:00
Patrick Pelissier
2d4fc9dc97
Allow generation of EMPLACE_TYPE
...
for variant if all oplists defined a FIELD operator.
2024-06-01 10:16:39 +02:00
Patrick Pelissier
afedb06dee
Fix buffer overflow in 32 bits mode
2024-05-28 23:31:26 +02:00
Patrick Pelissier
3fd2146bbe
Fix issue in 32 bits mode
2024-05-28 23:31:16 +02:00
Patrick Pelissier
8e70b6175a
Fix clang warning
2024-05-28 23:14:44 +02:00
Patrick Pelissier
67e9c8ff06
New internal string format:
...
* maximum size of a string is 2^32-1 now by default on a 64 bits system (can be increased using M_USE_STRING_LARGE_INDEX if needed).
* This reduce consumption of a string_t from 24 bytes to 16 bytes.
* Change the stack representation of a string, so that it lets 15 allocated bytes for the user even in 64 bytes mode. For 32 bits system, it increases to 15 allocated byte for stack representation.
* synthetic performance benchmark shows a little bit of decrease of performance. But performance in real application shows a significant increase (probably due to the reduced size of the type).
*Augment test suite to be sure to test all corner cases of the new representaiton.
2024-05-28 23:05:54 +02:00
Patrick Pelissier
bf59c53921
Migrate to V0.7.4
2024-05-27 00:39:00 +02:00
Patrick Pelissier
5589105f5c
Update comments
2024-05-27 00:34:24 +02:00
Patrick Pelissier
66d2aa26d3
Fix clang warning
V0.7.3
2024-05-15 21:19:43 +02:00
Patrick Pelissier
1ae904dff2
Add support of INITçWITH for variant
...
in C11 / provided all types of the variant are exclusive.
2024-05-15 20:46:20 +02:00
Patrick Pelissier
4549f4ab91
Improve comments
2024-05-14 21:29:47 +02:00
Patrick Pelissier
75d5627378
Simplify logic and should increase performance
2024-05-13 23:25:11 +02:00
Patrick Pelissier
8cbd27e629
Fix overflow
2024-05-12 22:59:58 +02:00
Patrick Pelissier
333cc2ccf8
Provide prefetch on non GCC target & compatible
2024-05-12 22:59:58 +02:00
Patrick Pelissier
000dba1da5
Correct API documentation
2024-05-11 09:43:20 +02:00
Patrick Pelissier
11946f155d
Update
2024-05-11 09:21:10 +02:00
Patrick Pelissier
99713e873c
Add example of multi B+Tree
2024-05-11 09:19:10 +02:00
Patrick Pelissier
ea5c993ff0
Add bulk_update for DICT OA
2024-05-09 19:28:46 +02:00
Patrick Pelissier
22d62f94bb
Add WIP bulk functions for DICT/OA
2024-05-09 14:10:22 +02:00
Patrick Pelissier
8fd79f07d5
Mark the functions to be optimized
...
those that shall not be.
2024-05-07 10:05:49 +02:00
Patrick Pelissier
29fe80a6af
Adding M_HOT_ATTRIBUTE
2024-05-07 10:05:23 +02:00
Patrick Pelissier
e787b64978
Fix issue in C wrapper
2024-05-07 09:51:33 +02:00
Patrick Pelissier
4f9db5eba6
Remove unused header
2024-05-07 08:20:59 +02:00
Patrick Pelissier
db5990de03
DICT:
...
* Reduce memory allocation usage
2024-05-05 19:26:07 +02:00
Patrick Pelissier
d4383ef854
DICT:
...
* Reduce memory allocation usage
* Add more assertions
2024-05-05 11:32:28 +02:00
Patrick Pelissier
d10c8c1b41
Fix comment
2024-05-05 10:18:26 +02:00
Patrick Pelissier
3c669548a2
Update to dev version 0.7.3
2024-05-04 19:56:51 +02:00
Patrick Pelissier
ec11230b5e
Fix shrink_to_fit for dict
2024-05-03 19:16:51 +02:00
Patrick Pelissier
567473869b
Update documentation
2024-05-03 16:42:51 +02:00
Patrick Pelissier
0b6733fdcb
Ass _reserve method for standard dict
2024-05-03 16:40:35 +02:00
Patrick Pelissier
8e330862e1
[Coverage] Adding missing tests
2024-05-03 10:03:22 +02:00
Patrick Pelissier
b2adc77d76
Update issues
2024-05-02 22:47:03 +02:00
Patrick Pelissier
82cbe9e282
Reformat
2024-05-02 17:12:48 +02:00
Patrick Pelissier
93429c8bf3
Simplify GET OA_DICT code
2024-05-02 16:25:03 +02:00
Patrick Pelissier
150bef4d4d
Add more assertion and control for new dict.
2024-05-02 14:05:00 +02:00
Patrick Pelissier
562fd875e9
Improve test suite
2024-05-02 14:04:38 +02:00
Patrick Pelissier
5513a9df1b
Fix issue in new dict for case of erase all / reset scenario
2024-05-02 01:15:15 +02:00
Patrick Pelissier
6fd2610eec
Fix valgrind warning
2024-05-01 23:39:49 +02:00
Patrick Pelissier
11bf5e4691
Fix C++ compatibility and compound literals...
2024-05-01 23:08:29 +02:00
Patrick Pelissier
cf0d82a706
Update
2024-05-01 22:57:33 +02:00
Patrick Pelissier
b0cc17ea86
Update documentation with newest dictionary properties
2024-05-01 22:56:14 +02:00
Patrick Pelissier
04d4bf6866
Complete new version of normal dictionary :
...
* limits: max elements is 0.75*2^32
* much faster
* use less memory
2024-05-01 22:39:36 +02:00
Patrick Pelissier
738123d4a7
Fix the example
2024-05-01 22:17:59 +02:00
Patrick Pelissier
a3ece09e66
Add new tests for exception and bitsets
2024-04-29 22:44:02 +02:00