Commit Graph
3704 Commits
Author SHA1 Message Date
Patrick Pelissier 847f52fa5e Fix clang warning 2024-07-11 22:07:51 +02:00
Patrick Pelissier 02828a0109 Fix interface of Intrusive List
(Reported by Brian Sipos):
* incorrect clear operator usage
* useless prototype of _insert, inconsistent with the policy of other functions
* syntax error in _insert
2024-07-11 21:41:14 +02:00
Patrick Pelissier 0f7d5bf366 Update doc 2024-06-15 09:51:51 +02:00
Patrick Pelissier 1277c75ea3 Update doc 2024-06-15 09:47:10 +02:00
Patrick Pelissier 47a51ee5c4 Update doc 2024-06-15 09:45:13 +02:00
Patrick Pelissier 3f102c2270 Use of memcmp instead of strcmp for string_equal_p 2024-06-12 23:15:56 +02:00
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