Skip to content

Commit d558c50

Browse files
committed
v0.9.0
1 parent ac5ff1e commit d558c50

3 files changed

Lines changed: 23 additions & 21 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
## [Unreleased]
22

3+
## [0.9.0] - 2025-11-05
4+
35
- Switch `AtomicThreadPool` back to atomics now that Ractor safety is lazy
46
- Don't enforce Ractor safety unless crossing Ractor boundaries
57
- Add `AtomicThreadPool#size` and `AtomicThreadPool#queue_size` aliases

README.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -210,19 +210,19 @@ puts "Atomic Ruby Atomic Bank Account: #{results[2].real.round(6)} seconds"
210210
```
211211
> bundle exec rake compile && bundle exec ruby examples/atom_benchmark.rb
212212
213-
ruby version: ruby 3.5.0dev (2025-10-31T18:08:15Z master 980e18496e) +YJIT +PRISM [arm64-darwin25]
213+
ruby version: ruby 3.5.0dev (2025-11-05T10:35:48Z master 946d2d036f) +YJIT +PRISM [arm64-darwin25]
214214
concurrent-ruby version: 1.3.5
215-
atomic-ruby version: 0.8.0
215+
atomic-ruby version: 0.9.0
216216
217217
Balances:
218218
Synchronized Bank Account Balance: 975
219219
Concurrent Ruby Atomic Bank Account Balance: 975
220220
Atomic Ruby Atomic Bank Account Balance: 975
221221
222222
Benchmark Results:
223-
Synchronized Bank Account: 5.105459 seconds
224-
Concurrent Ruby Atomic Bank Account: 5.101044 seconds
225-
Atomic Ruby Atomic Bank Account: 5.091892 seconds
223+
Synchronized Bank Account: 5.104234 seconds
224+
Concurrent Ruby Atomic Bank Account: 5.113334 seconds
225+
Atomic Ruby Atomic Bank Account: 5.097197 seconds
226226
```
227227

228228
</details>
@@ -301,29 +301,29 @@ end
301301
```
302302
> bundle exec rake compile && bundle exec ruby examples/atomic_boolean_benchmark.rb
303303
304-
ruby version: ruby 3.5.0dev (2025-10-31T18:08:15Z master 980e18496e) +YJIT +PRISM [arm64-darwin25]
304+
ruby version: ruby 3.5.0dev (2025-11-05T10:35:48Z master 946d2d036f) +YJIT +PRISM [arm64-darwin25]
305305
concurrent-ruby version: 1.3.5
306-
atomic-ruby version: 0.8.0
306+
atomic-ruby version: 0.9.0
307307
308308
Warming up --------------------------------------
309309
Synchronized Boolean Toggle
310-
154.000 i/100ms
310+
158.000 i/100ms
311311
Concurrent Ruby Atomic Boolean Toggle
312-
127.000 i/100ms
312+
113.000 i/100ms
313313
Atomic Ruby Atomic Boolean Toggle
314-
139.000 i/100ms
314+
122.000 i/100ms
315315
Calculating -------------------------------------
316316
Synchronized Boolean Toggle
317-
1.458k7.3%) i/s (685.85 μs/i) - 7.392k in 5.102733s
317+
1.521k2.1%) i/s (657.49 μs/i) - 7.742k in 5.092579s
318318
Concurrent Ruby Atomic Boolean Toggle
319-
1.129k9.7%) i/s (886.10 μs/i) - 5.588k in 5.001783s
319+
1.141k1.6%) i/s (876.12 μs/i) - 5.763k in 5.050298s
320320
Atomic Ruby Atomic Boolean Toggle
321-
1.476k6.0%) i/s (677.44 μs/i) - 7.367k in 5.017482s
321+
1.243k1.3%) i/s (804.64 μs/i) - 6.222k in 5.007246s
322322
323323
Comparison:
324-
Atomic Ruby Atomic Boolean Toggle: 1476.1 i/s
325-
Synchronized Boolean Toggle: 1458.1 i/s - same-ish: difference falls within error
326-
Concurrent Ruby Atomic Boolean Toggle: 1128.5 i/s - 1.31x slower
324+
Synchronized Boolean Toggle: 1520.9 i/s
325+
Atomic Ruby Atomic Boolean Toggle: 1242.8 i/s - 1.22x slower
326+
Concurrent Ruby Atomic Boolean Toggle: 1141.4 i/s - 1.33x slower
327327
```
328328

329329
</details>
@@ -379,13 +379,13 @@ puts "Atomic Ruby Atomic Thread Pool: #{results[1].real.round(6)} seconds"
379379
```
380380
> bundle exec rake compile && bundle exec ruby examples/atomic_thread_pool_benchmark.rb
381381
382-
ruby version: ruby 3.5.0dev (2025-10-31T18:08:15Z master 980e18496e) +YJIT +PRISM [arm64-darwin25]
382+
ruby version: ruby 3.5.0dev (2025-11-05T10:35:48Z master 946d2d036f) +YJIT +PRISM [arm64-darwin25]
383383
concurrent-ruby version: 1.3.5
384-
atomic-ruby version: 0.8.1
384+
atomic-ruby version: 0.9.0
385385
386386
Benchmark Results:
387-
Concurrent Ruby Thread Pool: 5.139026 seconds
388-
Atomic Ruby Atomic Thread Pool: 4.833597 seconds
387+
Concurrent Ruby Thread Pool: 5.169928 seconds
388+
Atomic Ruby Atomic Thread Pool: 4.831942 seconds
389389
```
390390

391391
</details>

lib/atomic-ruby/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# frozen_string_literal: true
22

33
module AtomicRuby
4-
VERSION = "0.8.1"
4+
VERSION = "0.9.0"
55
end

0 commit comments

Comments
 (0)