farce 0.4.1-java → 0.6.0-java
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 +4 -4
- data/CHANGELOG.md +98 -2
- data/README.md +3 -1
- data/docs/benchmarks.md +37 -21
- data/docs/compatibility.md +13 -0
- data/docs/data-structures.md +37 -0
- data/docs/integrations.md +1 -0
- data/docs/introduction.md +19 -0
- data/docs/modes.md +2 -0
- data/docs/scheduling.md +35 -3
- data/docs/scopes.md +3 -1
- data/docs/shims.md +53 -0
- data/docs/utilities.md +32 -0
- data/docs/variants.md +9 -0
- data/lib/farce/abstract/atom.rb +5 -1
- data/lib/farce/abstract/concurrent_map.rb +122 -0
- data/lib/farce/abstract/counter.rb +36 -1
- data/lib/farce/abstract/executor.rb +30 -7
- data/lib/farce/abstract/flag.rb +12 -0
- data/lib/farce/abstract/molecule.rb +14 -14
- data/lib/farce/abstract/pool.rb +158 -47
- data/lib/farce/abstract/priority_queue.rb +1 -1
- data/lib/farce/abstract/publisher.rb +189 -0
- data/lib/farce/abstract/queue.rb +29 -3
- data/lib/farce/abstract/scheduler.rb +41 -14
- data/lib/farce/abstract/timer_queue.rb +3 -3
- data/lib/farce/abstract/vector.rb +3 -1
- data/lib/farce/atom.rb +15 -2
- data/lib/farce/clock.rb +20 -7
- data/lib/farce/concurrent/count_down_latch.rb +37 -0
- data/lib/farce/concurrent/cyclic_barrier.rb +109 -0
- data/lib/farce/concurrent/event.rb +60 -0
- data/lib/farce/concurrent/fiber_local_var.rb +31 -0
- data/lib/farce/concurrent/local_var.rb +65 -0
- data/lib/farce/concurrent/thread_local_var.rb +28 -0
- data/lib/farce/concurrent/tuple.rb +74 -0
- data/lib/farce/concurrent.rb +50 -0
- data/lib/farce/config.rb +112 -2
- data/lib/farce/counter.rb +5 -15
- data/lib/farce/deduper.rb +12 -4
- data/lib/farce/engine/jruby/fiber_scheduler.jar +0 -0
- data/lib/farce/engine/jruby/map.rb +8 -6
- data/lib/farce/engine/jruby/signal.rb +2 -2
- data/lib/farce/engine/jvm/counter.rb +0 -2
- data/lib/farce/engine/jvm/farce.jar +0 -0
- data/lib/farce/engine/jvm/priority_queue.rb +14 -4
- data/lib/farce/engine/ruby/shared/parallel_scheduler.rb +9 -1
- data/lib/farce/engine/ruby/shared/ractor_selector.rb +1 -4
- data/lib/farce/engine/ruby/shared/weak_cache_mirror.rb +56 -0
- data/lib/farce/engine/ruby/shared/weak_map.rb +9 -12
- data/lib/farce/engine/ruby.rb +5 -1
- data/lib/farce/engine/shared/exchanger.rb +2 -2
- data/lib/farce/engine/shared/queue.rb +43 -5
- data/lib/farce/engine/shared/ractor_selector.rb +1 -1
- data/lib/farce/engine/shared/strict_map.rb +5 -0
- data/lib/farce/engine/shared/trie/ignore_case.rb +136 -0
- data/lib/farce/engine/shared/trie.rb +14 -1
- data/lib/farce/engine/shared/trie_builder.rb +19 -8
- data/lib/farce/engine/shared/unshared_atom.rb +1 -1
- data/lib/farce/engine/shared/unshared_vector.rb +11 -8
- data/lib/farce/engine/shared/unshared_weak_map.rb +8 -6
- data/lib/farce/engine/shared/vector.rb +2 -0
- data/lib/farce/engine/shared/weak_atom/base.rb +5 -10
- data/lib/farce/engine/shared/weak_map/cell.rb +1 -1
- data/lib/farce/engine/shared.rb +2 -0
- data/lib/farce/engine/truffleruby/map.rb +8 -6
- data/lib/farce/engine/truffleruby/native/counter.rb +0 -2
- data/lib/farce/engine/truffleruby/native/priority_queue.rb +18 -4
- data/lib/farce/engine/truffleruby/signal.rb +1 -1
- data/lib/farce/engine/truffleruby.rb +9 -0
- data/lib/farce/extension.rb +5 -3
- data/lib/farce/integrations/concurrent.rb +16 -3
- data/lib/farce/integrations/sorted_set.rb +1 -0
- data/lib/farce/internal/blocking_priority_queue.rb +4 -9
- data/lib/farce/internal/fake_ractor.rb +1 -1
- data/lib/farce/internal/flag_waiting.rb +1 -1
- data/lib/farce/internal/freeze.rb +1 -5
- data/lib/farce/internal/lease_initialization.rb +1 -1
- data/lib/farce/internal/lease_pool_state.rb +1 -1
- data/lib/farce/internal/lease_state.rb +2 -2
- data/lib/farce/internal/local_executor_methods.rb +3 -3
- data/lib/farce/internal/map_value_modes.rb +17 -9
- data/lib/farce/internal/pool_settings.rb +9 -0
- data/lib/farce/internal/pool_worker.rb +34 -21
- data/lib/farce/internal/reservation_waiting.rb +1 -1
- data/lib/farce/internal/scheduler_lifecycle.rb +2 -2
- data/lib/farce/internal/weak_map_value_modes.rb +5 -0
- data/lib/farce/internal.rb +19 -8
- data/lib/farce/lazy.rb +3 -0
- data/lib/farce/lazy_ref.rb +3 -0
- data/lib/farce/local/counter.rb +4 -10
- data/lib/farce/local/lease.rb +2 -9
- data/lib/farce/local/lease_map.rb +2 -9
- data/lib/farce/local/pool.rb +38 -5
- data/lib/farce/local/publisher.rb +30 -0
- data/lib/farce/local/scheduler.rb +18 -5
- data/lib/farce/local/vector.rb +3 -2
- data/lib/farce/map.rb +8 -1
- data/lib/farce/memoize.rb +319 -0
- data/lib/farce/pool.rb +5 -0
- data/lib/farce/priority_queue.rb +1 -1
- data/lib/farce/publisher.rb +57 -0
- data/lib/farce/shareable.rb +3 -0
- data/lib/farce/signal.rb +1 -1
- data/lib/farce/strict/publisher.rb +31 -0
- data/lib/farce/strict/vector.rb +3 -2
- data/lib/farce/strict/weak_cache.rb +199 -0
- data/lib/farce/subscription/definitions.rb +27 -0
- data/lib/farce/subscription.rb +121 -0
- data/lib/farce/transaction/map.rb +35 -1
- data/lib/farce/unshared/pool.rb +1 -1
- data/lib/farce/unshared/publisher.rb +25 -0
- data/lib/farce/unshared/scheduler.rb +3 -3
- data/lib/farce/unshared/vector.rb +3 -2
- data/lib/farce/vector.rb +20 -16
- data/lib/farce/version.rb +1 -1
- data/lib/farce/walker/definitions.rb +31 -2
- data/lib/farce/walker/modification.rb +28 -14
- data/lib/farce/walker.rb +9 -1
- data/lib/farce/weak_atom.rb +5 -2
- data/lib/farce/weak_key_map.rb +1 -1
- data/lib/farce/weak_map.rb +1 -1
- data/lib/farce/weak_value_map.rb +1 -1
- data/lib/farce.rb +3 -1
- metadata +22 -2
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: farce
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.0
|
|
5
5
|
platform: java
|
|
6
6
|
authors:
|
|
7
7
|
- Konstantin Haase
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-
|
|
10
|
+
date: 2026-11-04 00:00:00.000000000 Z
|
|
11
11
|
dependencies: []
|
|
12
12
|
email:
|
|
13
13
|
- konstantin.mailinglists@googlemail.com
|
|
@@ -64,6 +64,7 @@ files:
|
|
|
64
64
|
- lib/farce/abstract/pool.rb
|
|
65
65
|
- lib/farce/abstract/port.rb
|
|
66
66
|
- lib/farce/abstract/priority_queue.rb
|
|
67
|
+
- lib/farce/abstract/publisher.rb
|
|
67
68
|
- lib/farce/abstract/queue.rb
|
|
68
69
|
- lib/farce/abstract/scheduler.rb
|
|
69
70
|
- lib/farce/abstract/set.rb
|
|
@@ -81,6 +82,14 @@ files:
|
|
|
81
82
|
- lib/farce/backports.rb
|
|
82
83
|
- lib/farce/class_mirror.rb
|
|
83
84
|
- lib/farce/clock.rb
|
|
85
|
+
- lib/farce/concurrent.rb
|
|
86
|
+
- lib/farce/concurrent/count_down_latch.rb
|
|
87
|
+
- lib/farce/concurrent/cyclic_barrier.rb
|
|
88
|
+
- lib/farce/concurrent/event.rb
|
|
89
|
+
- lib/farce/concurrent/fiber_local_var.rb
|
|
90
|
+
- lib/farce/concurrent/local_var.rb
|
|
91
|
+
- lib/farce/concurrent/thread_local_var.rb
|
|
92
|
+
- lib/farce/concurrent/tuple.rb
|
|
84
93
|
- lib/farce/config.rb
|
|
85
94
|
- lib/farce/counter.rb
|
|
86
95
|
- lib/farce/deduper.rb
|
|
@@ -135,6 +144,7 @@ files:
|
|
|
135
144
|
- lib/farce/engine/ruby/shared/vault.rb
|
|
136
145
|
- lib/farce/engine/ruby/shared/vault_weak_map.rb
|
|
137
146
|
- lib/farce/engine/ruby/shared/weak_atom.rb
|
|
147
|
+
- lib/farce/engine/ruby/shared/weak_cache_mirror.rb
|
|
138
148
|
- lib/farce/engine/ruby/shared/weak_map.rb
|
|
139
149
|
- lib/farce/engine/shared.rb
|
|
140
150
|
- lib/farce/engine/shared/atom.rb
|
|
@@ -159,6 +169,7 @@ files:
|
|
|
159
169
|
- lib/farce/engine/shared/strict_tree_map.rb
|
|
160
170
|
- lib/farce/engine/shared/transaction_map_backend.rb
|
|
161
171
|
- lib/farce/engine/shared/trie.rb
|
|
172
|
+
- lib/farce/engine/shared/trie/ignore_case.rb
|
|
162
173
|
- lib/farce/engine/shared/trie_builder.rb
|
|
163
174
|
- lib/farce/engine/shared/unshareable.rb
|
|
164
175
|
- lib/farce/engine/shared/unshared_atom.rb
|
|
@@ -248,6 +259,7 @@ files:
|
|
|
248
259
|
- lib/farce/internal/mutable_ordered_key_lock_map.rb
|
|
249
260
|
- lib/farce/internal/noncopyable.rb
|
|
250
261
|
- lib/farce/internal/ordered_key_lock_map.rb
|
|
262
|
+
- lib/farce/internal/pool_settings.rb
|
|
251
263
|
- lib/farce/internal/pool_supervisor.rb
|
|
252
264
|
- lib/farce/internal/pool_worker.rb
|
|
253
265
|
- lib/farce/internal/portable_transaction.rb
|
|
@@ -299,6 +311,7 @@ files:
|
|
|
299
311
|
- lib/farce/local/molecule.rb
|
|
300
312
|
- lib/farce/local/pool.rb
|
|
301
313
|
- lib/farce/local/priority_queue.rb
|
|
314
|
+
- lib/farce/local/publisher.rb
|
|
302
315
|
- lib/farce/local/queue.rb
|
|
303
316
|
- lib/farce/local/scheduler.rb
|
|
304
317
|
- lib/farce/local/scoped.rb
|
|
@@ -315,6 +328,7 @@ files:
|
|
|
315
328
|
- lib/farce/lock.rb
|
|
316
329
|
- lib/farce/lru_map.rb
|
|
317
330
|
- lib/farce/map.rb
|
|
331
|
+
- lib/farce/memoize.rb
|
|
318
332
|
- lib/farce/mode_manager.rb
|
|
319
333
|
- lib/farce/mode_manager/smart_rule.rb
|
|
320
334
|
- lib/farce/molecule.rb
|
|
@@ -327,6 +341,7 @@ files:
|
|
|
327
341
|
- lib/farce/proxy/register.rb
|
|
328
342
|
- lib/farce/proxy/supervisor.rb
|
|
329
343
|
- lib/farce/proxy/wrapper.rb
|
|
344
|
+
- lib/farce/publisher.rb
|
|
330
345
|
- lib/farce/queue.rb
|
|
331
346
|
- lib/farce/ractor.rb
|
|
332
347
|
- lib/farce/read_write_lock.rb
|
|
@@ -354,6 +369,7 @@ files:
|
|
|
354
369
|
- lib/farce/strict/molecule.rb
|
|
355
370
|
- lib/farce/strict/port.rb
|
|
356
371
|
- lib/farce/strict/priority_queue.rb
|
|
372
|
+
- lib/farce/strict/publisher.rb
|
|
357
373
|
- lib/farce/strict/queue.rb
|
|
358
374
|
- lib/farce/strict/set.rb
|
|
359
375
|
- lib/farce/strict/sorted_set.rb
|
|
@@ -361,10 +377,13 @@ files:
|
|
|
361
377
|
- lib/farce/strict/tree_map.rb
|
|
362
378
|
- lib/farce/strict/vector.rb
|
|
363
379
|
- lib/farce/strict/weak_atom.rb
|
|
380
|
+
- lib/farce/strict/weak_cache.rb
|
|
364
381
|
- lib/farce/strict/weak_key_map.rb
|
|
365
382
|
- lib/farce/strict/weak_map.rb
|
|
366
383
|
- lib/farce/strict/weak_set.rb
|
|
367
384
|
- lib/farce/strict/weak_value_map.rb
|
|
385
|
+
- lib/farce/subscription.rb
|
|
386
|
+
- lib/farce/subscription/definitions.rb
|
|
368
387
|
- lib/farce/system.rb
|
|
369
388
|
- lib/farce/task.rb
|
|
370
389
|
- lib/farce/thread_executor.rb
|
|
@@ -402,6 +421,7 @@ files:
|
|
|
402
421
|
- lib/farce/unshared/molecule.rb
|
|
403
422
|
- lib/farce/unshared/pool.rb
|
|
404
423
|
- lib/farce/unshared/priority_queue.rb
|
|
424
|
+
- lib/farce/unshared/publisher.rb
|
|
405
425
|
- lib/farce/unshared/queue.rb
|
|
406
426
|
- lib/farce/unshared/scheduler.rb
|
|
407
427
|
- lib/farce/unshared/set.rb
|