Commit Graph
1068 Commits
Author SHA1 Message Date
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
Patrick Pelissier 12a4806b85 Add documentation 2018-02-28 21:07:43 +01:00
Patrick Pelissier 82575962ed Add expansion of the new kind of dictionary 2018-02-28 21:07:29 +01:00
Patrick Pelissier 1db2813aa3 Add dictionary with store computed hash, avoiding the need
of recomputation in some cases.
2018-02-28 21:06:58 +01:00
Patrick Pelissier c71613dcfe Don't display warnings about unused variables in release mode. 2018-02-28 21:05:15 +01:00
Patrick Pelissier 762d8a8e74 Update assertion 2018-02-27 22:43:17 +01:00
Patrick Pelissier b7966f6b61 Update assertions 2018-02-27 22:41:20 +01:00
Patrick Pelissier b1443533e0 Update comment 2018-02-27 22:41:11 +01:00
Patrick Pelissier 6f12ac1d19 Update comments & add new assertions 2018-02-27 22:32:03 +01:00
Patrick Pelissier 0295eea145 Rewrite the prototype of intrusive shared object
to be more clear when there is a shared pointer
and when there is not.
2018-02-26 21:38:33 +01:00
Patrick Pelissier 171402f99f Fix bug 2018-02-25 11:52:21 +01:00
Patrick Pelissier 3d57d35536 Update test 2018-02-25 11:52:14 +01:00
Patrick Pelissier bacf2b9eec Add more test for dual push list 2018-02-25 11:43:31 +01:00
Patrick Pelissier fd885bdb19 Rewrite a little bit singly linked list
to be up-to-date with standards of other containers.
2018-02-25 11:24:44 +01:00
Patrick Pelissier a497c07b0b Update test 2018-02-24 21:41:30 +01:00
Patrick Pelissier ffd5f23406 Update due to new generic type 2018-02-24 21:41:16 +01:00
Patrick Pelissier 97e3cc35c2 Add more tests. 2018-02-24 20:26:32 +01:00
Patrick Pelissier 44d8363292 Fix issue with assertion 2018-02-24 20:26:19 +01:00
Patrick Pelissier e540a95ad0 Fix spelling 2018-02-24 15:28:07 +01:00
Patrick Pelissier db63b0d515 Fix code generation analyzis for list
Add dual push list
2018-02-24 15:21:23 +01:00
Patrick Pelissier 7637c2fb58 Update test 2018-02-24 15:16:11 +01:00
Patrick Pelissier 5b40b43435 Add some tests. 2018-02-24 15:13:34 +01:00
Patrick Pelissier 6ec277ec99 Add dual push singly linked list 2018-02-24 15:07:58 +01:00
Patrick Pelissier 1befa63c9b Remove duplicate code. 2018-02-24 15:04:44 +01:00
Patrick Pelissier 3d3e052f23 Add reference to wikipedia data structure in the documentation 2018-02-24 09:03:47 +01:00
Patrick Pelissier aea816dcaf Fix data race 2018-02-24 07:44:16 +01:00
Patrick Pelissier d258fb3eff Fix memory leak 2018-02-23 23:13:10 +01:00
Patrick Pelissier 1463d83b9f Fix memory leak in test 2018-02-23 23:10:26 +01:00
Patrick Pelissier 10c947d9d4 Support of monocore cpu 2018-02-23 22:21:20 +01:00
Patrick Pelissier 2da51ea6e9 Remove constraint on size > 0
as workers can create a queue of size 0
in mono core system.
2018-02-23 22:12:17 +01:00