Commit Graph
100 Commits
Author SHA1 Message Date
Patrick Pelissier e2b00d7c73 Split function definitions into separate macro 2018-02-21 22:16:55 +01:00
Patrick Pelissier ff3964e2eb Factorization of the mympz type 2018-02-21 22:06:45 +01:00
Patrick Pelissier 2ed95bfe16 Fix generic issue for deque
(was totaly broken before).
2018-02-21 22:05:51 +01:00
Patrick Pelissier 958936319f Activate test 2018-02-21 21:51:54 +01:00
Patrick Pelissier 39fca33958 Reuse memory node in case of pop from the opposite side
if there is at least one free node in the opposite side.
This reduce the memory consumption ***a lot*** for FIFO queues
usage.
2018-02-21 21:50:40 +01:00
Patrick Pelissier eb4cbe863e Add some TODO 2018-02-20 23:10:47 +01:00
Patrick Pelissier d146ea6a63 Add new test (disabled) 2018-02-20 22:57:58 +01:00
Patrick Pelissier f4b2ba8322 Fix coverage 2018-02-20 22:12:09 +01:00
Patrick Pelissier acb1aa8104 Add new restriction 2018-02-20 22:12:03 +01:00
Patrick Pelissier 03f7a75e54 Add more check 2018-02-20 22:01:26 +01:00
Patrick Pelissier 2dc71cc5fd Fix bug 2018-02-20 22:01:19 +01:00
Patrick Pelissier 4a92419bbe Add tests 2018-02-20 21:55:16 +01:00
Patrick Pelissier 92699501f6 Add more assertions 2018-02-19 23:41:29 +01:00
Patrick Pelissier b49ed97be0 Update comment 2018-02-19 23:38:22 +01:00
Patrick Pelissier aec661edea Add shared ressource container 2018-02-19 23:37:10 +01:00
Patrick Pelissier 675fa2cf85 Add note to document 2018-02-19 23:36:36 +01:00
Patrick Pelissier b442d72ef7 Add forgotten free + check for memory allocation 2018-02-19 23:14:16 +01:00
Patrick Pelissier 2ff197c670 Add function _size 2018-02-19 23:14:09 +01:00
Patrick Pelissier 5c9a610823 Fix data race issue 2018-02-19 22:49:05 +01:00
Patrick Pelissier 8d871256ed Reformat 2018-02-19 22:48:46 +01:00
Patrick Pelissier 3d59fb0d9a Fix a deadlock due to an ABA like bug. 2018-02-19 19:00:24 +01:00
Patrick Pelissier 057d783158 Add comment 2018-02-18 19:19:41 +01:00
Patrick Pelissier ffb8a2a00a Improve test suite
(Test fails randomly)
2018-02-18 19:18:40 +01:00
Patrick Pelissier b32b93340c Improve tests & fix bugs.
Still one bug remain.
2018-02-18 17:01:41 +01:00
Patrick Pelissier 35a3f7c02a Improve test 2018-02-18 09:55:31 +01:00
Patrick Pelissier 6de4c4092f Add MRMW snapshot 2018-02-18 08:27:10 +01:00
Patrick Pelissier c5de5e07d8 Update comment 2018-02-18 08:00:14 +01:00
Patrick Pelissier 0176071011 Add proper test for MRSW snapshot 2018-02-18 07:58:48 +01:00
Patrick Pelissier 3f2a641cdf Add contract 2018-02-17 20:25:40 +01:00
Patrick Pelissier 20be2d8850 Externalized currentWrite 2018-02-17 20:21:53 +01:00
Patrick Pelissier b37cd7dba7 Rewrite / simplify code 2018-02-17 20:08:00 +01:00
Patrick Pelissier e274a49ffd Fix bug as we can't fail spuriously here. 2018-02-17 19:28:09 +01:00
Patrick Pelissier cba37abfae Reword 2018-02-17 19:24:16 +01:00
Patrick Pelissier be198a7040 Add MRSW snapshots. 2018-02-17 19:19:51 +01:00
Patrick Pelissier 29d181c113 Add macro M_CTYPE_FROM_FIELD like M_TYPE_FROM_FIELD
but for const pointer.
2018-02-17 19:19:09 +01:00
Patrick Pelissier 3d5914f389 Fix issue in test 2018-02-17 18:50:03 +01:00
Patrick Pelissier c78c75d89a Add more test 2018-02-17 18:48:52 +01:00
Patrick Pelissier a4753be5ae Add test for int snapshot MRSW 2018-02-17 18:20:25 +01:00
Patrick Pelissier 3bda360196 Add first step of MRSW snapshot 2018-02-17 17:35:18 +01:00
Patrick Pelissier 2b4de98aee Update comment 2018-02-17 17:35:07 +01:00
Patrick Pelissier bbd887fd2c Update comments 2018-02-17 14:21:54 +01:00
Patrick Pelissier 84a5add410 Recursive clean 2018-02-17 14:03:24 +01:00
Patrick Pelissier c999563ecd Fix spelling 2018-02-17 12:02:54 +01:00
Patrick Pelissier 80c7cdbdd2 Rename snapshot_def as snapshot_srsw_def 2018-02-17 12:00:45 +01:00
Patrick Pelissier 9c7b453732 Update doc 2018-02-17 11:56:04 +01:00
Patrick Pelissier 45982c4b01 Improve test suite 2018-02-17 11:06:28 +01:00
Patrick Pelissier 438704be37 Rewrite & fix int queue generator.
Limitation to 4096 max entries.
A classic queue may be way faster (too much sharing for thread) but will use much more memory...
To bench
2018-02-16 21:22:46 +01:00
Patrick Pelissier 1753ddc4d6 Improve bitset_at version by avoiding a redundant variable shift. 2018-02-16 20:42:42 +01:00
Patrick Pelissier 96178194b3 Update size to long long 2018-02-16 18:00:08 +01:00
Patrick Pelissier 57fb2192be Add libdict 2018-02-16 07:40:20 +01:00
Patrick Pelissier 546a78be33 Fix spelling 2018-02-15 22:48:25 +01:00
Patrick Pelissier 29acb67566 Update example of snapshot to a better one. 2018-02-15 22:43:43 +01:00
Patrick Pelissier 0afad9a825 Update comments. 2018-02-15 22:34:36 +01:00
Patrick Pelissier c99b3de902 Fix double minus which transformed into + ! 2018-02-15 22:31:50 +01:00
Patrick Pelissier e8cf1d6b9a Update doc 2018-02-14 21:12:38 +01:00
Patrick Pelissier a9aa1e13ee Add relaxed shared pointer (thread unsafe with non-atomic counter). 2018-02-10 17:31:12 +01:00
Patrick Pelissier f5857c8aab Create an oplist for the counter and use it.
It will allow to use other oplist.
2018-02-10 17:22:51 +01:00
Patrick Pelissier 67856a98af Avoid false sharing for snapshot by aligning properly the
data of the triple buffer to a cache boundary.
2018-02-10 08:29:34 +01:00
Patrick Pelissier c71de15cb0 Update comment 2018-02-10 08:22:37 +01:00
Patrick Pelissier 73f15c1980 Update comment 2018-02-10 08:22:12 +01:00
Patrick Pelissier 646df4f34e Move aligned cache line constant to commun header. 2018-02-10 08:20:37 +01:00
Patrick Pelissier 8489d0df97 Clarify algorithm 2018-02-09 20:56:28 +01:00
Patrick Pelissier 86dfad860e Improve coverage 2018-02-05 22:28:35 +01:00
Patrick Pelissier c97a68029b Improve coverage 2018-02-05 22:18:56 +01:00
Patrick Pelissier 08a4dfbe4c Improve coverage 2018-02-05 22:14:14 +01:00
Patrick Pelissier adcacf3cf9 Improve coverage 2018-02-05 22:04:50 +01:00
Patrick Pelissier 7950b69136 Improve coverage 2018-02-05 21:47:22 +01:00
Patrick Pelissier 5d75416948 Improve coverage 2018-02-05 21:41:28 +01:00
Patrick Pelissier 2e96a00fde Improve coverage. 2018-02-05 21:25:11 +01:00
Patrick Pelissier 1f08bcf0f8 Add clear callback for workers. 2018-01-29 22:08:21 +01:00
Patrick Pelissier a3e2e75021 Use new macro. 2018-01-29 21:59:57 +01:00
Patrick Pelissier 603bdd2941 Add new macro M_DEFAULT_ARGS 2018-01-29 21:59:39 +01:00
Patrick Pelissier 6fb7a4f24b Update doc 2018-01-29 21:21:54 +01:00
Patrick Pelissier 0c2d290835 Add missing copyright notice. 2018-01-29 20:29:54 +01:00
Patrick Pelissier 210e05f7fc Update copyright to 2018 2018-01-29 20:28:30 +01:00
Patrick Pelissier f4b443c33e Finish documenting the string API. 2018-01-27 22:28:48 +01:00
Patrick Pelissier 52ffa09f73 Fix issue 2018-01-24 22:30:12 +01:00
Patrick Pelissier 52bb23bb6f Update doc 2018-01-24 22:28:52 +01:00
Patrick Pelissier 2089af8fd3 Fix broken code due to previous commits. 2018-01-24 22:26:46 +01:00
Patrick Pelissier 778bc4072b Rename parameter 2018-01-24 22:23:56 +01:00
Patrick Pelissier 2b2ebecae7 Improve comments. 2018-01-23 23:03:02 +01:00
Patrick Pelissier 69cbd61915 Document string API. 2018-01-23 22:53:37 +01:00
Patrick Pelissier 4d41774345 Rename STRING_CONTRACT into internal macro STRINGI_CONTRACT 2018-01-23 21:45:45 +01:00
Patrick Pelissier ff6772aaa7 Ignore depend files 2018-01-13 13:55:36 +01:00
Patrick Pelissier bbe9d43532 Move chapter ERRORS below 2018-01-13 00:14:52 +01:00
Patrick Pelissier 6549bea3e0 Fix issue for BSD 2018-01-12 20:11:11 +01:00
Patrick Pelissier 9d727589aa Fix data race reported by thread sanitinizer 2018-01-12 18:58:27 +01:00
Patrick Pelissier aede0547d3 Optimization: replace a division into a conditional move. 2018-01-12 18:56:01 +01:00
Patrick Pelissier 55332d61fd Fix data race for buffer in POP_RELEASE mode. 2018-01-12 18:52:34 +01:00
Patrick Pelissier 83eeb5d6d0 Make the code more robust 2018-01-12 18:48:38 +01:00
Patrick Pelissier 5eaf796aab Remove warnings 2018-01-12 18:46:26 +01:00
Patrick Pelissier d46c40d3fa Don't compute coverage of the float expansion. 2018-01-09 20:05:05 +01:00
Patrick Pelissier 2461afa573 Improve coverage suite. 2018-01-09 20:03:05 +01:00
Patrick Pelissier 6acacf5efe Fix issue for hash computation. 2018-01-09 20:02:53 +01:00
Patrick Pelissier 075a74ea0c Don't expand contract for coverage. 2018-01-09 18:52:18 +01:00
Patrick Pelissier f9ddc43349 Add bench k-nucleotide as per
http://benchmarksgame.alioth.debian.org/u64q/knucleotide.html
2018-01-09 18:44:11 +01:00
Patrick Pelissier 1c9a232a9d Add 'worker_flush' function.
Factorization of the exec function.
2018-01-07 22:15:58 +01:00
Patrick Pelissier 9c727a8d8c Update doc 2018-01-07 21:57:23 +01:00
Patrick Pelissier 7c241c65de Add new lib for smart pointers in Gnu C 2018-01-07 00:09:38 +01:00
Patrick Pelissier 4f3823bfeb Add new function _blocking allowing to use
runtime behavior of the blocking characteristic of the
buffer regardless on how it has been configured.
2018-01-07 00:07:27 +01:00