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
Patrick Pelissier
d930c0a4ad
Fix memory leak in test suite
2018-02-23 22:00:15 +01:00
Patrick Pelissier
d0e7cc41bf
Add more assertions
2018-02-23 20:40:44 +01:00
Patrick Pelissier
8c610adee5
Update README
2018-02-23 20:39:37 +01:00