atomic-ruby 0.7.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 673339dcf17f8da8f0f34326cb31a5a1514b820b4c31229f0022290f50c0a7fe
4
- data.tar.gz: 289ebbf398e1f2a9bc2b58623680525c02b57056789a589c329f51977b46c250
3
+ metadata.gz: df0115a62c1857c8f5c11cac42003d5ed1c91ec1c5b204d5b5cf093f25d5cab9
4
+ data.tar.gz: 67963d4c342b33e235a5cb320013388dc227d46311c80c1b19e029b4ff02bc1d
5
5
  SHA512:
6
- metadata.gz: 5d495876e6706f589bbe91dcea4ad2ba71ab525b32ad897cdd6762de2a3451de91874c7446d8a439323e316d6b13f9748f19f304871a435916deb40e2f9239f6
7
- data.tar.gz: be35ad1d840b4ea84eecf942087571a7f78b44bb04b3365f18491fed64fc2b5d3fb2182a614a05ad66b55e723c39680d7aa19810aa57bcd24a0166971bd1761c
6
+ metadata.gz: e26adf803f4e798808a736eabdb86dc8d4074a71231aa2806e15f84ea5c8c6a7770cc268fb412733702fb0c540d1392e01265bf3571c3d143165f51776f72c19
7
+ data.tar.gz: d788e9e25c29f26050095050357ddb64b31a132bd1c9d9e13604945eec2382744a0b94e9f946d97eec6721c73fa16d83e574fc5e3e0644a3101c8b97b9b9b833
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.7.2] - 2025-10-26
4
+
5
+ - Revert "Fix O(n) performance issue in `AtomicThreadPool#<<` by using linked list"
6
+
7
+ ## [0.7.1] - 2025-10-26
8
+
9
+ - Fix O(n) performance issue in `AtomicThreadPool#<<` by using linked list
10
+
3
11
  ## [0.7.0] - 2025-10-20
4
12
 
5
13
  - Improve thread safety, performance, and error handling across atomic classes
data/README.md CHANGED
@@ -212,7 +212,7 @@ puts "Atomic Ruby Atomic Bank Account: #{results[2].real.round(6)} seconds"
212
212
 
213
213
  ruby version: ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +YJIT +PRISM [arm64-darwin25]
214
214
  concurrent-ruby version: 1.3.5
215
- atomic-ruby version: 0.6.4
215
+ atomic-ruby version: 0.7.0
216
216
 
217
217
  Balances:
218
218
  Synchronized Bank Account Balance: 975
@@ -220,9 +220,9 @@ Concurrent Ruby Atomic Bank Account Balance: 975
220
220
  Atomic Ruby Atomic Bank Account Balance: 975
221
221
 
222
222
  Benchmark Results:
223
- Synchronized Bank Account: 5.110797 seconds
224
- Concurrent Ruby Atomic Bank Account: 5.118082 seconds
225
- Atomic Ruby Atomic Bank Account: 5.087287 seconds
223
+ Synchronized Bank Account: 5.102692 seconds
224
+ Concurrent Ruby Atomic Bank Account: 5.100103 seconds
225
+ Atomic Ruby Atomic Bank Account: 5.096461 seconds
226
226
  ```
227
227
 
228
228
  </details>
@@ -303,27 +303,27 @@ end
303
303
 
304
304
  ruby version: ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +YJIT +PRISM [arm64-darwin25]
305
305
  concurrent-ruby version: 1.3.5
306
- atomic-ruby version: 0.6.4
306
+ atomic-ruby version: 0.7.0
307
307
 
308
308
  Warming up --------------------------------------
309
309
  Synchronized Boolean Toggle
310
- 103.000 i/100ms
310
+ 93.000 i/100ms
311
311
  Concurrent Ruby Atomic Boolean Toggle
312
- 84.000 i/100ms
312
+ 79.000 i/100ms
313
313
  Atomic Ruby Atomic Boolean Toggle
314
- 115.000 i/100ms
314
+ 87.000 i/100ms
315
315
  Calculating -------------------------------------
316
316
  Synchronized Boolean Toggle
317
- 1.052k (± 3.9%) i/s (950.20 μs/i) - 5.356k in 5.097149s
317
+ 889.613 (± 3.0%) i/s (1.12 ms/i) - 4.464k in 5.022732s
318
318
  Concurrent Ruby Atomic Boolean Toggle
319
- 872.0733.2%) i/s (1.15 ms/i) - 4.368k in 5.013857s
319
+ 803.4182.5%) i/s (1.24 ms/i) - 4.029k in 5.017952s
320
320
  Atomic Ruby Atomic Boolean Toggle
321
- 1.214k (± 1.5%) i/s (823.94 μs/i) - 6.095k in 5.023014s
321
+ 1.037k3.1%) i/s (964.07 μs/i) - 5.220k in 5.037558s
322
322
 
323
323
  Comparison:
324
- Atomic Ruby Atomic Boolean Toggle: 1213.7 i/s
325
- Synchronized Boolean Toggle: 1052.4 i/s - 1.15x slower
326
- Concurrent Ruby Atomic Boolean Toggle: 872.1 i/s - 1.39x slower
324
+ Atomic Ruby Atomic Boolean Toggle: 1037.3 i/s
325
+ Synchronized Boolean Toggle: 889.6 i/s - 1.17x slower
326
+ Concurrent Ruby Atomic Boolean Toggle: 803.4 i/s - 1.29x slower
327
327
  ```
328
328
 
329
329
  </details>
@@ -381,11 +381,11 @@ puts "Atomic Ruby Atomic Thread Pool: #{results[1].real.round(6)} seconds"
381
381
 
382
382
  ruby version: ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +YJIT +PRISM [arm64-darwin25]
383
383
  concurrent-ruby version: 1.3.5
384
- atomic-ruby version: 0.6.4
384
+ atomic-ruby version: 0.7.0
385
385
 
386
386
  Benchmark Results:
387
- Concurrent Ruby Thread Pool: 4.768847 seconds
388
- Atomic Ruby Atomic Thread Pool: 4.401936 seconds
387
+ Concurrent Ruby Thread Pool: 5.30284 seconds
388
+ Atomic Ruby Atomic Thread Pool: 5.019147 seconds
389
389
  ```
390
390
 
391
391
  </details>
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AtomicRuby
4
- VERSION = "0.7.0"
4
+ VERSION = "0.7.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: atomic-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Young