Patrick Pelissier
47fb467878
Add basic it test for B+tree
2018-04-08 07:24:56 +02:00
Patrick Pelissier
67af80c772
Fix issue in it_end for B+TREE
2018-04-08 07:22:34 +02:00
Patrick Pelissier
1f44155127
Add one more corner case
2018-04-07 12:11:50 +02:00
Patrick Pelissier
87a3ac4a76
Add test for methods _init_set & _set for B+tree
2018-04-07 12:10:50 +02:00
Patrick Pelissier
73354a04d5
Add method _init_set & _set for B+tree
2018-04-07 12:10:19 +02:00
Patrick Pelissier
cb3038e73c
Add more checks
2018-04-07 11:51:38 +02:00
Patrick Pelissier
b6ec31fe11
Add more test.
2018-04-07 11:50:18 +02:00
Patrick Pelissier
c7059a60ee
Add more tests
2018-04-07 11:44:16 +02:00
Patrick Pelissier
af49aaf8b1
Add more tests.
2018-04-07 11:42:12 +02:00
Patrick Pelissier
4149b8388b
Improve quality of coverage report by not expanding contract function.
2018-04-07 11:41:43 +02:00
Patrick Pelissier
df0d723714
Compute coverage for B+TREE
2018-04-07 11:28:50 +02:00
Patrick Pelissier
44209ed93e
Add more tests
2018-04-07 11:19:58 +02:00
Patrick Pelissier
930a3c8637
More tests.
2018-04-07 11:14:31 +02:00
Patrick Pelissier
d2f5698397
iMake oplist optional for BPTREE_DEF
2018-04-07 11:10:13 +02:00
Patrick Pelissier
42d9fc3284
Update doc
2018-04-07 00:43:51 +02:00
Patrick Pelissier
91db494898
Add basic iterator for B+tree
...
I can't match the exact interface of a dictionary of the key and the value are in separate place in the structure
(so I can't return a pair of (key,value)). Instead I return a pair of pointer (key_ptr, value_ptr).
I don't see any other way which doesn't evolve copy of the key/value.
For the RBtree interface, no such problem occurs.
2018-04-05 22:44:36 +02:00
Patrick Pelissier
75217d4914
Rewrite / cleanup
2018-04-04 22:57:47 +02:00
Patrick Pelissier
ceaf004719
Remove wrong comment
2018-04-04 22:55:19 +02:00
Patrick Pelissier
27b7380433
B+TREE: Add _size operator
2018-04-04 22:54:39 +02:00
Patrick Pelissier
7ca254ade9
B+TREE: Add _pop function.
2018-04-04 22:39:46 +02:00
Patrick Pelissier
c91864c2a7
B+TREE: _remove returns a boolean indicating if the item
...
removed was present or not
2018-04-04 22:35:47 +02:00
Patrick Pelissier
4925297a35
Update doc
2018-04-04 20:27:44 +02:00
Patrick Pelissier
d7ece50ed0
Replace "Dict" by "DictOA" since KLIB uses an OpenAddressing dictionnary.
2018-04-03 20:13:18 +02:00
Patrick Pelissier
3ef4a9f413
Fix issue with the way of benching the BTREE of KLIB.
...
Forgot to initialize the key in the search pass.
2018-04-03 20:10:11 +02:00
Patrick Pelissier
9768b5b37a
Add bench of B+TREE
2018-04-03 20:07:21 +02:00
Patrick Pelissier
e4cd999bd0
Test expansion of new container.
2018-04-03 20:01:24 +02:00
Patrick Pelissier
8e335535cc
Add new container without a value.
2018-04-03 20:01:04 +02:00
Patrick Pelissier
2f53d98806
Fix issue with kind_s being redefined if the macro is used again.
...
Fix issue of not using proper method for type.
Render usage of value optional so that we can create B+TREE with only keys.
2018-04-03 18:29:28 +02:00
Patrick Pelissier
5d99331358
Add expansion of a user type.
2018-04-03 18:29:16 +02:00
Patrick Pelissier
316022cde4
Add oplist with CMP operator
2018-04-03 18:28:51 +02:00
Patrick Pelissier
8d1abca8de
Add link to the comparison between STL & M*LIB
2018-04-03 12:47:44 +02:00
Patrick Pelissier
1b2e73eaa2
Prepare doc
2018-04-03 12:43:30 +02:00
Patrick Pelissier
6127371920
Add B+TREE container.
...
Fix #4
2018-04-03 12:40:29 +02:00
Patrick Pelissier
7936dbbf8c
Minor fix
2018-03-31 16:31:47 +02:00
Patrick Pelissier
8aa45309a2
Update doc
2018-03-31 12:10:50 +02:00
Patrick Pelissier
d75237ba66
Update
2018-03-31 12:05:42 +02:00
Patrick Pelissier
9909877771
Avoid warning with C++
2018-03-31 12:01:05 +02:00
Patrick Pelissier
64ef1f3aba
Fix classic issue with C++
2018-03-31 11:56:28 +02:00
Patrick Pelissier
d670e1a6bb
Update
2018-03-31 10:05:24 +02:00
Patrick Pelissier
7082a4dc24
Fix wrong initialization of ATOMIC_VAR_INIT for the emulation layer
...
(wrong since the simplication of the atomic structure).
2018-03-31 10:04:41 +02:00
Patrick Pelissier
e6c9314c91
Reorder the list of other libraries.
2018-03-30 21:39:10 +02:00
Patrick Pelissier
3dccd4484e
Add nedtries
2018-03-30 21:35:19 +02:00
Patrick Pelissier
170ed98701
Remove dependency of boost/glib to the pool benchmark
2018-03-29 20:51:42 +02:00
Patrick Pelissier
54fa2c8635
Don't assume boost is always installed on the platform.
2018-03-29 20:12:53 +02:00
Patrick Pelissier
bc83fe43e5
Remove dependency on GMP, so that it is easier to run the bench suite.
2018-03-29 20:01:45 +02:00
Patrick Pelissier
18710567f2
Make QT & GLIB optional libraries
2018-03-29 19:19:48 +02:00
Patrick Pelissier
9a98ed5cb6
Add PHONY target.
2018-03-29 19:15:11 +02:00
Patrick Pelissier
35a98fd3b5
Remove unused header file
2018-03-29 19:13:59 +02:00
Patrick Pelissier
cd74fdf234
time command doesn't work reliabely in Makefile
2018-03-29 19:13:35 +02:00
Patrick Pelissier
6cccbfc73a
Add worker_sync_p function.
2018-03-26 22:13:50 +02:00
Patrick Pelissier
e59308a9a3
Update documentation.
2018-03-26 21:55:51 +02:00
Patrick Pelissier
85a3be4ae3
Update documentation
2018-03-26 21:45:06 +02:00
Patrick Pelissier
d873693fe7
Update to ignore 'other' directory
2018-03-24 12:47:19 +01:00
Patrick Pelissier
2df967d5c2
add TODO
2018-03-24 08:52:20 +01:00
Patrick Pelissier
20989a7ab5
Add test for bounded string.
2018-03-24 08:42:47 +01:00
Patrick Pelissier
8e114d6fe4
Add bounded string definition so that you can easily use them for a container.
2018-03-24 08:42:15 +01:00
Patrick Pelissier
479ad2d4ba
Update doc
2018-03-23 22:07:04 +01:00
Patrick Pelissier
d05bb49f5d
Add more assertions.
...
Change prototype of fputs to return the error / success status.
2018-03-23 21:25:55 +01:00
Patrick Pelissier
fc9755379d
Add ctemplates
2018-03-23 20:10:37 +01:00
Patrick Pelissier
a85db0c383
Add libgenerics
2018-03-21 23:13:34 +01:00
Patrick Pelissier
d19ec5bf49
Fix format of _size
2018-03-21 20:11:31 +01:00
Patrick Pelissier
ba72e4ebbf
Remove check in protected contract:
...
since there are two mutex now, there are data race when we want to check it.
TODO: Properly separate the contract.
2018-03-17 19:54:59 +01:00
Patrick Pelissier
5936e25ce4
Add test
2018-03-17 09:24:26 +01:00
Patrick Pelissier
d82dc196e0
Fix datarace (?) if support for pop deferred has been activated
...
(a rewake of thread may be lost)
2018-03-16 23:55:16 +01:00
Patrick Pelissier
c174b368e8
Fix issue with atomic variables needing writable variable even for reading only.
2018-03-16 23:27:08 +01:00
Patrick Pelissier
81e3515f40
Add missing tests
2018-03-16 23:06:15 +01:00
Patrick Pelissier
bffec6206b
Remove usage of variable array extension in C tests to avoid warning with C++ compilers.
2018-03-16 23:02:28 +01:00
Patrick Pelissier
d269c23948
Remove warning with C++.
...
It'll will increase the size of the type a little bit.
TODO: Check compatibility between code using C def and code using C++ def
2018-03-16 23:00:46 +01:00
Patrick Pelissier
f2b2335080
Fix issue with C++ not supporting passing an int constant value to an unsigned atomic type...
...
I definitely find this disturbing.
2018-03-16 22:59:51 +01:00
Patrick Pelissier
5dded0d9aa
Clarify the displayed message
2018-03-16 22:30:59 +01:00
Patrick Pelissier
33142c3a0d
Fix build for flathaspmap (needs of C++14 and not C++11).
2018-03-16 09:27:00 +01:00
Patrick Pelissier
06e256f77a
Fix build with newer version of library
2018-03-16 09:13:34 +01:00
Patrick Pelissier
3f13cca666
Fix compilation with newer version of library
2018-03-16 09:04:32 +01:00
Patrick Pelissier
73117708e5
Analyze generated code
2018-03-14 23:51:51 +01:00
Patrick Pelissier
f88b53dce5
Fix issue
2018-03-14 23:51:43 +01:00
Patrick Pelissier
3e609bab04
Add method pop_until
2018-03-14 23:46:30 +01:00
Patrick Pelissier
a6bf530c5f
Remove a warning.
2018-03-14 22:19:16 +01:00
Patrick Pelissier
5d003b7678
Generate more functions
2018-03-14 22:18:48 +01:00
Patrick Pelissier
a5cbc3f34a
Rename method into GET_KEY. Add method SET_KEY
2018-03-13 22:22:26 +01:00
Patrick Pelissier
52e92e1ebf
Bench stable sort
2018-03-11 00:36:51 +01:00
Patrick Pelissier
5307b6c097
Add stable sort for array
2018-03-11 00:36:38 +01:00
Patrick Pelissier
dd4f4761de
Add GET_AT method
...
:
2018-03-10 19:26:59 +01:00
Patrick Pelissier
96f3533e46
Fix bug for default oplist used by M_A1_OPLIST
...
o
2018-03-10 18:52:16 +01:00
Patrick Pelissier
774e1720b7
Add M_SWAP_DEFAULT
2018-03-10 18:48:27 +01:00
Patrick Pelissier
83f8eadce9
Fix name of variable without a macro (shadow variable)
2018-03-10 18:09:23 +01:00
Patrick Pelissier
f8e75761ef
Change SNAPSHOT_SRSW to SNAPSHOT_SPSC to be uniform with queue definition
...
(Replace Reader / Writer term by Consummer / Producer term)
2018-03-10 17:46:02 +01:00
Patrick Pelissier
cbb881df86
Fix overwrite branch which has a data race on number.
...
Rewrite it to be simpler & faster and without data race.
2018-03-10 10:13:54 +01:00
Patrick Pelissier
103e5304e8
Use of 2 mutex for buffer:
...
* one for the enqueue
* one for the dequeue
The number of items in the buffer is the only variable which can be accessed
by both at the same time.
This improve the performance of the communication and reduce the possibility
of priority inversion between the producer and the consummer thread.
2018-03-09 21:07:21 +01:00
Patrick Pelissier
e152ff0377
Add TODO
2018-03-09 21:07:07 +01:00
Patrick Pelissier
65f39ab22e
Optmize the buffer queue:
...
don't broadcast the condition variable if we know that
no thread is waiting for it.
Improve bench test from 700ms to 450ms
2018-03-09 19:15:47 +01:00
Patrick Pelissier
df51c6dc64
Add m_cond_broad_cast
2018-03-09 19:15:31 +01:00
Patrick Pelissier
b7c86ee01e
Fix detection
...
of GCC
2018-03-06 21:58:41 +01:00
Patrick Pelissier
992bb6a73a
Add bench of hash computation library (XXHASH)
2018-03-04 01:16:37 +01:00
Patrick Pelissier
557dd3e0d5
Fix spelling
2018-03-03 18:32:08 +01:00
Patrick Pelissier
c8d5b5440f
Add documentation for LIST_DUAL_PUSH_DEF
2018-03-03 18:30:01 +01:00
Patrick Pelissier
0900e72070
Add TODO
2018-02-28 21:44:52 +01:00
Patrick Pelissier
dcdc64f974
Update graph
2018-02-28 21:34:47 +01:00
Patrick Pelissier
58898adbcd
Add target to Generate depend.png
2018-02-28 21:34:31 +01:00
Patrick Pelissier
ff2050466b
Fix spelling
2018-02-28 21:17:16 +01:00
Patrick Pelissier
dd209c05b9
Use new kind of dictionary for bench
2018-02-28 21:07:53 +01:00