joaquintides
07370c16e6
halved gc frequency
2024-01-03 17:46:43 +01:00
joaquintides
679faa51a9
re-enabled gc
2024-01-03 13:24:14 +01:00
joaquintides
628df0f500
disabled is_occupied
2024-01-03 12:48:37 +01:00
joaquintides
16eec4a9a7
relaxed atomic ops
2024-01-03 11:55:00 +01:00
joaquintides
3310fe061c
temporarily disabled gc
2024-01-02 19:43:43 +01:00
joaquintides
8d3c924724
increased gc frequency
2024-01-02 12:01:17 +01:00
joaquintides
d576363d09
streamlined update_size_ctrl, printed concurrent_table stats
2024-01-02 10:42:01 +01:00
joaquintides
0aab436707
protected visitation against spurious insertion sentinels
2023-12-27 13:34:34 +01:00
joaquintides
71e9d35ab2
made latch-free unprotected_norehash_emplace_or_visit exception safe
2023-12-26 19:08:51 +01:00
joaquintides
f3f01e33f4
fined-tuned gc dimensions
2023-12-26 18:01:36 +01:00
joaquintides
c861b082b3
re-strengthened atomic_integral (insert-visit sync)
2023-12-26 10:01:16 +01:00
joaquintides
1418b96fb2
capped size_ctrl.ml in update_size_ctrl
2023-12-25 13:02:57 +01:00
joaquintides
a68b92d1cd
* relaxed atomic_integral
...
* re-enabled gc
* optimized mco calculation
* added heuristic to *reduce* mco at insertion time
* fixed signedness bug at update_size_ctrl
2023-12-25 12:48:04 +01:00
joaquintides
71fb7636c5
prevented gc overcall, temporarily disabled gc
2023-12-20 19:02:49 +01:00
joaquintides
5808607c4f
reverted
2023-12-19 12:42:11 +01:00
joaquintides
e91f743530
temporarily restricted gc to one designated thread
2023-12-19 12:22:11 +01:00
joaquintides
13d6cc0a33
reduced insertion contention zone
2023-12-19 11:34:35 +01:00
joaquintides
4cd3cd5ac2
used pointers rather than positions in the garbage collector
2023-12-18 13:38:57 +01:00
joaquintides
b55a13c6b6
simplified erasure
2023-12-18 13:25:14 +01:00
joaquintides
35138450c8
desynced size control
2023-12-16 11:55:23 +01:00
joaquintides
ca7120d928
removed prior experiments and optimized insertion via two-step counter
2023-12-14 12:36:04 +01:00
joaquintides
b866bba144
removed counter-based protection on insertion
2023-12-13 13:51:05 +01:00
joaquintides
6869f099a5
disabled insertion synchronization
2023-12-13 13:43:09 +01:00
joaquintides
aaf553581f
disabled size control
2023-12-13 13:35:10 +01:00
joaquintides
116d2807f4
temporarily disabled garbage collection
2023-12-13 12:44:24 +01:00
joaquintides
567cfe4988
reverted
2023-12-12 16:47:59 +01:00
joaquintides
c346a513f0
temporarily removed size control
2023-12-12 16:34:27 +01:00
joaquintides
64614f1670
optimized non-visiting insertion
2023-12-12 13:35:48 +01:00
joaquintides
8ac326b39f
synchronized construct_and_emplace
2023-12-12 10:32:00 +01:00
joaquintides
5c21fa6d81
implemented group_synchronized_shared mode for insertion
2023-12-11 20:56:30 +01:00
joaquintides
b8d9605107
fine-tuned memory order for metadata manipulation
2023-12-11 19:43:05 +01:00
joaquintides
b087f9fb53
strengthened memory order for metadata manipulation
2023-12-11 18:54:10 +01:00
joaquintides
901d652fd7
implemented garbage collection
2023-12-11 17:37:35 +01:00
joaquintides
0f2a2a0b0f
added latch-free erasure
2023-12-05 12:20:40 +01:00
joaquintides
86856f7e6b
made epoch mechanism oversubscription free
2023-12-04 14:05:36 +01:00
joaquintides
8bd1bcf5de
gotten rid of wait_for_epochs in insertion
2023-12-04 11:26:35 +01:00
joaquintides
d6a8a4462c
reverted to epoch array of size 128 and to non-relaxed wait_for_epochs
2023-12-03 19:51:26 +01:00
joaquintides
7e495f4598
relaxed operation overlooked in prior commit
2023-12-03 13:08:52 +01:00
joaquintides
68b38901e7
relaxed wait_for_epochs
2023-12-03 13:03:39 +01:00
joaquintides
821a2bfb45
made epoch array smaller
2023-12-03 09:45:09 +01:00
joaquintides
5af735827f
optimized epoch waiting
2023-12-02 20:52:20 +01:00
joaquintides
49ff2a63ea
made insertion and constant visitation (but *not* erasure) optionally latch-free
2023-12-02 19:50:36 +01:00
joaquintides and Christian Mazakas
7fd94b9df7
Fix/bucket iterator indirection operator ( #220 rewrite) ( #221 )
...
* Add tests for member of pointer operator for bucket iterators
* Fix erroneous conversion from node* to value_type* in bucket iterators
Originally caughy by vslashg from PR https://github.com/boostorg/unordered/pull/220
* Update change log
* Update GHA config to use containers in C++20 builds for clang-14 as it's incompatible with libstdc++-13
* fixed Python installation problem
* tried variation of former fix
* tried another variation of former fix
* tried yet another variation
* editorial
---------
Co-authored-by: Christian Mazakas <christian.mazakas@gmail.com >
2023-11-17 08:51:40 +01:00
joaquintides
42df4f2749
removed lifting of swap and ==/!= operations
2023-10-22 20:16:05 +02:00
joaquintides
dbe93c765c
asserted allocator equality on unordered_node_(map|set)::merge and updated docs
2023-10-21 12:35:59 +02:00
joaquintides
ea4fc5e66d
fine-tuned element prefetching in unprotected_bulk_visit
2023-10-18 18:20:22 +02:00
Peter Dimov
0e19223e5b
Replace uses of boost::enable_if_t in deduction guides with std::enable_if_t
2023-10-12 13:13:56 +03:00
joaquintides
8ee48fe909
Feature/bulk visit ( #217 )
2023-10-11 12:50:28 +02:00
joaquintides
ef0b3a0cd8
fixed #201
2023-10-04 17:38:33 +02:00
Christian Mazakas
554ce65a69
Remove unnecessary forced inlining of bool conversion
2023-09-29 10:52:34 -07:00