Commit Graph

  • 7c84969249 Merge pull request #239 from k3DW/feature/229 joaquintides 2024-03-25 09:58:29 +01:00
  • 553ce263fa Fix pmr tests on macos-13 Braden Ganetsky 2024-03-24 11:03:52 -05:00
  • e63853d87d Fix fca allocator swapping, and test that pmr allocator swap compiles Braden Ganetsky 2024-03-24 11:04:32 -05:00
  • e816ba511c Write pmr tests to check for no allocator propagation Braden Ganetsky 2024-03-24 11:05:16 -05:00
  • 82ba55e4a4 Write test pmr_emplace_erase to check basic functionality with pmr allocators Braden Ganetsky 2024-03-24 12:22:44 -05:00
  • 626db552ab Write pmr memory resource 'counted_new_delete_resource' Braden Ganetsky 2024-03-06 17:47:00 -05:00
  • 5d16a36921 Update docs Braden Ganetsky 2024-03-21 15:37:04 -05:00
  • 16732c5c4c Add unordered container pmr aliases Braden Ganetsky 2024-03-21 15:37:03 -05:00
  • a3873dc19b Sync from upstream. Rene Rivera 2024-03-16 09:01:13 -05:00
  • 5e6b9291de Merge pull request #238 from boostorg/fix/gh-237 boost-1.85.0 joaquintides 2024-03-16 09:18:41 +01:00
  • ccf9a76ebe Fixed #237 joaquintides 2024-03-15 17:30:10 +01:00
  • a4a5a3e127 fixed trivial bug in unused function joaquintides 2024-03-14 09:34:38 +01:00
  • 89515ee604 Make the library modular usable. Rene Rivera 2024-03-11 08:38:17 -05:00
  • 2f63dc4dd8 implmented element-level ll/sc access joaquintides 2024-03-08 20:08:33 +01:00
  • 15cfef6967 Fixed support for allocators with explicit copy constructors (#234) boost-1.85.0.beta1 joaquintides 2024-02-17 18:58:48 +01:00
  • a08e86d985 used two-stage ll/sc joaquintides 2024-02-14 20:18:17 +01:00
  • 7692065552 Merge pull request #230 from k3DW/feature/226 joaquintides 2024-02-12 17:24:49 +01:00
  • b22c09700d fixed erase_if on sentinels, implemented one-access non-constant visitation joaquintides 2024-02-12 13:41:20 +01:00
  • bad10788ff strengthened erase, relaxed metadata ops joaquintides 2024-02-12 12:02:07 +01:00
  • bbad4735aa Update reference Braden Ganetsky 2024-01-19 13:45:57 -06:00
  • 1d25c1c053 Update copyright notices Braden Ganetsky 2024-01-15 12:26:47 -06:00
  • 260418e4ee Fix cfoa tests Braden Ganetsky 2024-01-15 22:00:52 -06:00
  • aff242dbaf Optimize emplace(k,v) for fca containers Braden Ganetsky 2024-02-10 11:29:45 -06:00
  • 4e6d4ade6c Optimize emplace(k,v) for foa and cfoa containers Braden Ganetsky 2024-02-10 11:27:43 -06:00
  • 4fbe450a65 Generalize alloc_cted_insert_type into allocator_constructed and remove the factory function alloc_make_insert_type() Braden Ganetsky 2024-02-10 11:46:06 -06:00
  • bd5c9fc740 Add cfoa tests for emplace(k,v) Braden Ganetsky 2024-02-06 23:36:29 -06:00
  • f411968ffd Add tests for immovable key_type Braden Ganetsky 2024-02-10 17:39:23 -06:00
  • a444cfb1ae implemented latch-free element save joaquintides 2024-02-10 20:51:09 +01:00
  • be7c63e1bf Add foa and fca tests for emplace(k,v) Braden Ganetsky 2024-02-06 23:36:27 -06:00
  • db779b949e added missing synchronization joaquintides 2024-02-09 19:40:45 +01:00
  • 83ac0d59cc weakened many atomic ops joaquintides 2024-02-09 19:08:33 +01:00
  • a05b55270a reenabled info logging joaquintides 2024-02-09 12:43:04 +01:00
  • 77a0f6bb74 implemented latch-free element load joaquintides 2024-02-09 12:33:41 +01:00
  • 1df37051ae Add msvc-14.1, msvc-14.2 /permissive- to Drone Peter Dimov 2024-02-08 20:55:54 +02:00
  • c4dbda0f78 Add missing include Peter Dimov 2024-02-08 20:52:34 +02:00
  • fa895edac2 Add msvc-14.3 /permissive- to Drone Peter Dimov 2024-02-08 20:10:50 +02:00
  • 43186b04d1 Add msvc-14.3 /permissive- to GHA Peter Dimov 2024-02-08 19:59:47 +02:00
  • 687a446784 used parlay epoch framework joaquintides 2024-02-03 17:37:08 +01:00
  • 1c48ce8194 removed node recycling joaquintides 2024-02-02 19:09:39 +01:00
  • 1e9970d150 reverted joaquintides 2024-02-02 12:07:58 +01:00
  • f10a9ab76d supressed wasted nodes report, relaxed metadata ops joaquintides 2024-02-02 11:31:13 +01:00
  • 83a81d6b1d relaxed epoch bumping joaquintides 2024-02-01 20:04:00 +01:00
  • c1f8720dd2 Add GCC 5 on 18.04 to Drone and GHA feature/gcc-5-18.04 Peter Dimov 2024-01-31 18:17:05 +02:00
  • 9b5545e30c avoided unnecessary epoch bumps joaquintides 2024-01-29 13:12:47 +01:00
  • 9e8d69c08a made garbage vectors bigger joaquintides 2024-01-29 11:53:38 +01:00
  • 99cee83c57 monitored wasted nodes joaquintides 2024-01-27 11:53:48 +01:00
  • 363ef61cf0 monitor garbage vector full condition joaquintides 2024-01-26 11:15:28 +01:00
  • b67aaf3558 cacheline-aligned garbage vectors joaquintides 2024-01-22 09:50:23 +01:00
  • 1bae403d58 added node recycling joaquintides 2024-01-21 18:53:33 +01:00
  • 4021c276fe switched to node-based layout joaquintides 2024-01-20 11:52:19 +01:00
  • d7f7792ee3 reduced contention on rehash_if_full, reduced min_for_epoch_bump joaquintides 2024-01-13 13:12:07 +01:00
  • 1d7165f759 incremented min_for_epoch_bump joaquintides 2024-01-08 18:52:15 +01:00
  • 25fe5948a6 sped up gc frequency joaquintides 2024-01-08 17:52:52 +01:00
  • f55e6ac290 made gc thread local joaquintides 2024-01-08 11:31:39 +01:00
  • 78aaa8ea51 re-strengthened atomic ops, halved gc frequency again joaquintides 2024-01-03 20:50:17 +01:00
  • 07370c16e6 halved gc frequency joaquintides 2024-01-03 17:46:43 +01:00
  • 679faa51a9 re-enabled gc joaquintides 2024-01-03 13:24:14 +01:00
  • 628df0f500 disabled is_occupied joaquintides 2024-01-03 12:48:37 +01:00
  • 16eec4a9a7 relaxed atomic ops joaquintides 2024-01-03 11:55:00 +01:00
  • 3310fe061c temporarily disabled gc joaquintides 2024-01-02 19:43:43 +01:00
  • 8d3c924724 increased gc frequency joaquintides 2024-01-02 12:01:17 +01:00
  • d576363d09 streamlined update_size_ctrl, printed concurrent_table stats joaquintides 2024-01-02 10:42:01 +01:00
  • 67c5cdb3a6 Optimize emplace() for exactly a value_type or init_type argument (#227) Braden Ganetsky 2023-12-31 11:56:14 -06:00
  • 75a94781d5 Fix/b2 5.0.0 (#228) joaquintides 2023-12-30 22:11:11 +01:00
  • 76185abe80 extended workaround to GCC 4.9 joaquintides 2023-12-30 19:41:13 +01:00
  • 0aab436707 protected visitation against spurious insertion sentinels joaquintides 2023-12-27 13:34:34 +01:00
  • d689613172 protected visitation against spurious insertion sentinels feature/cfoa_alf_insert joaquintides 2023-12-27 12:32:31 +01:00
  • 71e9d35ab2 made latch-free unprotected_norehash_emplace_or_visit exception safe joaquintides 2023-12-26 19:08:51 +01:00
  • 8365ccb78a fixed is_reserved joaquintides 2023-12-26 18:11:22 +01:00
  • f3f01e33f4 fined-tuned gc dimensions joaquintides 2023-12-26 18:01:36 +01:00
  • c861b082b3 re-strengthened atomic_integral (insert-visit sync) joaquintides 2023-12-26 10:01:16 +01:00
  • 0a6da6979f protected for_all_elements(_while) against transient slot reserves joaquintides 2023-12-26 09:53:29 +01:00
  • 31c33faf57 added almost-latch-free insertion for regular-layout group_type joaquintides 2023-12-25 20:25:34 +01:00
  • 1418b96fb2 capped size_ctrl.ml in update_size_ctrl joaquintides 2023-12-25 13:02:57 +01:00
  • 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 joaquintides 2023-12-25 12:48:04 +01:00
  • 71fb7636c5 prevented gc overcall, temporarily disabled gc joaquintides 2023-12-20 19:02:49 +01:00
  • 0d2751c5e1 Extract at()'s throw_exception calls into noinline function (#223) Braden Ganetsky 2023-12-19 10:08:08 -06:00
  • 5808607c4f reverted joaquintides 2023-12-19 12:42:11 +01:00
  • e91f743530 temporarily restricted gc to one designated thread joaquintides 2023-12-19 12:22:11 +01:00
  • 13d6cc0a33 reduced insertion contention zone joaquintides 2023-12-19 11:34:35 +01:00
  • 4cd3cd5ac2 used pointers rather than positions in the garbage collector joaquintides 2023-12-18 13:38:57 +01:00
  • b55a13c6b6 simplified erasure joaquintides 2023-12-18 13:25:14 +01:00
  • 35138450c8 desynced size control joaquintides 2023-12-16 11:55:23 +01:00
  • ca7120d928 removed prior experiments and optimized insertion via two-step counter joaquintides 2023-12-14 12:36:04 +01:00
  • b866bba144 removed counter-based protection on insertion joaquintides 2023-12-13 13:51:05 +01:00
  • 6869f099a5 disabled insertion synchronization joaquintides 2023-12-13 13:43:09 +01:00
  • aaf553581f disabled size control joaquintides 2023-12-13 13:35:10 +01:00
  • 116d2807f4 temporarily disabled garbage collection joaquintides 2023-12-13 12:44:24 +01:00
  • 567cfe4988 reverted joaquintides 2023-12-12 16:47:59 +01:00
  • c346a513f0 temporarily removed size control joaquintides 2023-12-12 16:34:27 +01:00
  • 64614f1670 optimized non-visiting insertion joaquintides 2023-12-12 13:35:48 +01:00
  • 8ac326b39f synchronized construct_and_emplace joaquintides 2023-12-12 10:32:00 +01:00
  • 5c21fa6d81 implemented group_synchronized_shared mode for insertion joaquintides 2023-12-11 20:56:30 +01:00
  • b8d9605107 fine-tuned memory order for metadata manipulation joaquintides 2023-12-11 19:43:05 +01:00
  • b087f9fb53 strengthened memory order for metadata manipulation joaquintides 2023-12-11 18:54:10 +01:00
  • 901d652fd7 implemented garbage collection joaquintides 2023-12-11 17:37:35 +01:00
  • 0f2a2a0b0f added latch-free erasure joaquintides 2023-12-05 12:20:40 +01:00
  • 86856f7e6b made epoch mechanism oversubscription free joaquintides 2023-12-04 14:05:36 +01:00
  • 8bd1bcf5de gotten rid of wait_for_epochs in insertion joaquintides 2023-12-04 11:26:35 +01:00
  • d6a8a4462c reverted to epoch array of size 128 and to non-relaxed wait_for_epochs joaquintides 2023-12-03 19:51:26 +01:00