← Extractions

UringMachine — High Performance Concurrency for Ruby Using io_uring (Sharon Rosner, wroclove.rb 2026)

Sharon Rosner presents UringMachine, a Ruby concurrency library that drives fibers with Linux io_uring. He walks through fiber-based concurrency, the io_uring submission/completion model, and how UringMachine combines them with a run queue, multi-shot operations, provided buffers, SSL integration, and a Ruby fiber scheduler — positioning it as a spiritual successor to EventMachine.

Model
claude-opus-4-7
Ingestion
cd54bfe0
Input tokens
193,424
fresh
67,348
cached
82,683
cache write
43,393
Output tokens
12,618
Duration
175.2s
Roundtrips
5
Tool calls
18
Cost
$0.00
Nodes/edges extracted
23 / 57
Read set (nodes/edges)
104 / 2

Nodes (23)

create Multi-shot Operations concept
kind (empty) concept
name (empty) Multi-shot Operations
slug (empty) multi-shot-operations
attrs (empty) {"category" => "pattern"}
description (empty) io_uring variants of normal operations — accept, timeout, read, receive — where one SQE yields a continuous stream of...
short_description (empty) io_uring pattern: submit once, receive many completions.
update Sharon Rosner person
attrs (empty) {"domain" => "Industrial process control"}
description Ruby developer focused on high-performance concurrency with io_uring. Ruby developer focused on high-performance concurrency with io_uring. Works in industrial process control, maintainin...
short_description Creator of Polyphony and UringMachine. Creator of Polyphony and UringMachine; Ruby concurrency developer.
update UringMachine — High Performance Concurrency for Ruby Using io_uring talk
attrs {"type" => "talk"} {"date" => "2026-04-17", "type" => "talk"}
description Talk on io_uring concurrency in Ruby. Sharon Rosner's wroclove.rb 2026 talk introducing UringMachine, his Ruby gem that combines fibers with Linux io_uring...
create UringMachine project
kind (empty) project
name (empty) UringMachine
slug (empty) uringmachine
attrs (empty) {"status" => "active", "license" => "open-source", "language" => "Ruby"}
description (empty) Ruby concurrency library developed by Sharon Rosner for roughly a year prior to wroclove.rb 2026. A UringMachine inst...
short_description (empty) Ruby library for fiber-based concurrency driven by Linux io_uring.
create io_uring concept
kind (empty) concept
name (empty) io_uring
slug (empty) io_uring
attrs (empty) {"category" => "architecture", "platform" => "Linux"}
description (empty) Linux-specific kernel interface for asynchronous IO, not available on other operating systems. Provides a comprehensi...
short_description (empty) Linux asynchronous I/O interface based on submission and completion ring buffers.
create Fiber concept
kind (empty) concept
name (empty) Fiber
slug (empty) fiber
attrs (empty) {"category" => "architecture"}
description (empty) A fiber is a context of execution that can be suspended and resumed. Each Ruby thread starts with a main/default fibe...
short_description (empty) Ruby execution context that can be suspended and resumed, used for cooperative concurrency.
create Run Queue concept
kind (empty) concept
name (empty) Run Queue
slug (empty) run-queue
attrs (empty) {"category" => "pattern"}
description (empty) Abstraction that holds fibers ready to run. Replaces hardwired fiber-to-fiber transfers: a fiber_switch method adds t...
short_description (empty) Queue holding ready-to-run fibers, mediating cooperative scheduling.
create Fiber Scheduler concept
kind (empty) concept
name (empty) Fiber Scheduler
slug (empty) fiber-scheduler
attrs (empty) {"category" => "architecture", "introduced_in" => "Ruby 3.0"}
description (empty) Interface introduced in Ruby 3.0 by Samuel Williams. Provides hooks inside the Ruby IO implementation so that, in the...
short_description (empty) Ruby hook interface letting fibers transparently defer blocking IO.
create Provided Buffers concept
kind (empty) concept
name (empty) Provided Buffers
slug (empty) provided-buffers
attrs (empty) {"category" => "architecture"}
description (empty) io_uring mechanism where the application sets up an additional circular buffer (a buffer ring) of preallocated read b...
short_description (empty) io_uring feature letting the kernel pull read buffers from an application-supplied buffer ring.
create Samuel Williams person
kind (empty) person
name (empty) Samuel Williams
slug (empty) samuel-williams
description (empty) Ruby core contributor responsible for much of the fiber work in Ruby over the last few years, including the Fiber Sch...
short_description (empty) Ruby contributor behind modern fiber work, the async gems, and the Falcon web server.
create Falcon tool
kind (empty) tool
name (empty) Falcon
slug (empty) falcon
attrs (empty) {"category" => "service"}
description (empty) Ruby web server authored by Samuel Williams on top of his async gem family. Referenced at wroclove.rb 2026 in Sharon ...
short_description (empty) Fiber-based Ruby web server built on the async ecosystem.
update EventMachine tool
attrs {"category" => "library"} {"status" => "unmaintained", "category" => "library"}
description Classic Ruby event-driven networking library. David Halasz considered it for the remote-console proxy but discarded i... Classic Ruby event-driven networking/reactor library, popular in Ruby's early days when the community was looking to ...
create Polyphony project
kind (empty) project
name (empty) Polyphony
slug (empty) polyphony
attrs (empty) {"status" => "superseded", "license" => "open-source"}
description (empty) Earlier Ruby concurrency gem authored by Sharon Rosner that attempted to bring io_uring to Ruby. Very high-level with...
short_description (empty) Sharon Rosner's earlier high-level Ruby fiber+io_uring concurrency gem.
create Syntropy project
kind (empty) project
name (empty) Syntropy
slug (empty) syntropy
attrs (empty) {"status" => "active", "license" => "open-source"}
description (empty) Sharon Rosner's own Ruby web framework for personal use (transcribed 'Cynthropy'/'Cropy'). Runs on top of a custom-ma...
short_description (empty) Sharon Rosner's personal Ruby web framework.
create The Mythical IO-Bound Rails App resource
kind (empty) resource
name (empty) The Mythical IO-Bound Rails App
slug (empty) the-mythical-io-bound-rails-app
attrs (empty) {"type" => "article"}
description (empty) Article by Jean Boussier that Sharon Rosner recommends to the audience. Argues in detail that mature Rails applicatio...
short_description (empty) Jean Boussier article arguing real Rails apps are CPU-heavy, not IO-bound.
create Jean Boussier person
kind (empty) person
name (empty) Jean Boussier
slug (empty) jean-boussier
description (empty) Ruby performance engineer, author of the 'Mythical IO-Bound Rails App' article arguing that real-world Rails applicat...
short_description (empty) Ruby performance engineer; author of 'The Mythical IO-Bound Rails App'.
create Multi-shot Accept Backlog Concern question
kind (empty) question
name (empty) Multi-shot Accept Backlog Concern
slug (empty) multi-shot-accept-backlog-concern
attrs (empty) {"answer_summary" => "Sharon suggested listen() backlog but admitted it needs to be investigated."}
description (empty) Audience member asked whether multi-shot accept on a listening socket risks committing to too many in-flight TCP conn...
short_description (empty) Does multi-shot accept risk accepting too many in-flight TCP connections?
create Do You Use Falcon With Your Framework? question
kind (empty) question
name (empty) Do You Use Falcon With Your Framework?
slug (empty) do-you-use-falcon-with-your-framework
attrs (empty) {"answer_summary" => "No — Syntropy runs on Sharon's own custom Rack web server, not Falcon."}
description (empty) Audience asked whether Sharon uses Falcon everywhere with his framework and other projects. Sharon answered no — Synt...
short_description (empty) Does Sharon use Falcon as the web server for his framework?
create Business Motivation for UringMachine question
kind (empty) question
name (empty) Business Motivation for UringMachine
slug (empty) business-motivation-for-uringmachine
attrs (empty) {"answer_summary" => "Long-running EventMachine-based industrial process-control apps needed a maintained replacement...
description (empty) Audience asked what original business needs pushed Sharon to build UringMachine and what example would tell someone t...
short_description (empty) What business need drove building UringMachine?
create io_uring Beats Threads More as Concurrency Grows takeaway
kind (empty) takeaway
name (empty) io_uring Beats Threads More as Concurrency Grows
slug (empty) io_uring-beats-threads-more-as-concurrency-grows
attrs (empty) {"type" => "insight"}
description (empty) In a synthetic benchmark of 50 Unix pipes with paired reader/writer fibers or threads, UringMachine (both fiber-sched...
short_description (empty) UringMachine's advantage over threads widens as concurrency level increases.
create Real Rails Apps Are Not IO-Bound takeaway
kind (empty) takeaway
name (empty) Real Rails Apps Are Not IO-Bound
slug (empty) real-rails-apps-are-not-io-bound
attrs (empty) {"type" => "warning"}
description (empty) Pure fiber/io_uring benchmarks reflect synthetic IO-only scenarios. Real applications — especially mature Rails apps ...
short_description (empty) Mature Rails apps do heavy CPU work, limiting pure-IO concurrency gains.
create UringMachine as EventMachine Replacement takeaway
kind (empty) takeaway
name (empty) UringMachine as EventMachine Replacement
slug (empty) uringmachine-as-eventmachine-replacement
attrs (empty) {"type" => "recommendation"}
description (empty) EventMachine has been unmaintained for years and is a real risk for long-running Ruby applications built on it. Uring...
short_description (empty) UringMachine exists to replace long-abandoned EventMachine.
create Provided Buffers Enable Automatic Buffer Management takeaway
kind (empty) takeaway
name (empty) Provided Buffers Enable Automatic Buffer Management
slug (empty) provided-buffers-enable-automatic-buffer-management
attrs (empty) {"type" => "insight"}
description (empty) Using io_uring provided buffers (with incremental consumption on recent kernels), UringMachine allocates a pool of bu...
short_description (empty) Share one buffer pool across all reads instead of allocating per-operation buffers.

Edges (57)

update Sharon RosnerauthoredUringMachine — High Performance Concurrency for Ruby Using io_uring
context (empty) Sharon delivered this talk at wroclove.rb 2026.
update UringMachine — High Performance Concurrency for Ruby Using io_uringpresented_atwroclove.rb 2026
context (empty) Talk delivered at wroclove.rb 2026 on 2026-04-17.
create Sharon Rosnerattendedwroclove.rb 2026
context (empty) Speaker at wroclove.rb 2026.
relation (empty) attended
source_node_id (empty) 309b86ce-8d1a-44c2-a8c7-e7320b708358
target_node_id (empty) c1bfbda9-9fbb-4d7f-8e12-1a7a81621ba9
create Sharon Rosnerworks_onUringMachine
attrs (empty) {"role" => "author"}
context (empty) Sharon has been developing UringMachine for about a year.
relation (empty) works_on
source_node_id (empty) 309b86ce-8d1a-44c2-a8c7-e7320b708358
target_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
create Sharon Rosnerworks_onPolyphony
attrs (empty) {"role" => "author"}
context (empty) Authored Polyphony, his earlier high-level io_uring concurrency gem.
relation (empty) works_on
source_node_id (empty) 309b86ce-8d1a-44c2-a8c7-e7320b708358
target_node_id (empty) 98108655-6020-4553-806f-d3eb68235028
create Sharon Rosnerworks_onSyntropy
attrs (empty) {"role" => "author"}
context (empty) Syntropy is Sharon's personal Ruby web framework running on his own custom Rack server.
relation (empty) works_on
source_node_id (empty) 309b86ce-8d1a-44c2-a8c7-e7320b708358
target_node_id (empty) 5b625079-a73a-4972-a788-0bad385b8f39
create UringMachineusesio_uring
context (empty) UringMachine is built on Linux io_uring.
relation (empty) uses
source_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
target_node_id (empty) 7cde01e9-d570-4845-b195-ea91f7cfc50b
create UringMachineusesFiber
context (empty) UringMachine drives concurrency using Ruby fibers.
relation (empty) uses
source_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
target_node_id (empty) 860795aa-c3c8-4d76-8965-67ebbad2f2b8
create UringMachineusesRun Queue
context (empty) A UringMachine instance is an io_uring instance plus a run queue for fibers.
relation (empty) uses
source_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
target_node_id (empty) ac6e5d4b-1d49-4147-9501-29f007214326
create UringMachineusesProvided Buffers
context (empty) UringMachine builds automatic buffer management on io_uring provided buffers.
relation (empty) uses
source_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
target_node_id (empty) ecc16767-cf48-470b-a339-07d1ba9f523e
create UringMachineusesMulti-shot Operations
context (empty) UringMachine exposes multi-shot accept/timeout/read/receive as iterator-style APIs.
relation (empty) uses
source_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
target_node_id (empty) c9552225-8634-4ae9-83b2-8539feeaca02
create UringMachineusesFiber Scheduler
context (empty) UringMachine includes a Ruby Fiber Scheduler implementation for ecosystem compatibility.
relation (empty) uses
source_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
target_node_id (empty) 033ec84f-689b-4b77-a25a-af0ac6cb3254
create SyntropyusesUringMachine
context (empty) Syntropy runs on a custom Rack server on top of UringMachine.
relation (empty) uses
source_node_id (empty) 5b625079-a73a-4972-a788-0bad385b8f39
target_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
create UringMachine — High Performance Concurrency for Ruby Using io_uringaboutUringMachine
context (empty) The talk introduces and explains UringMachine.
relation (empty) about
source_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
target_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
create UringMachine — High Performance Concurrency for Ruby Using io_uringaboutio_uring
context (empty) Explains the io_uring interface and its submission/completion model.
relation (empty) about
source_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
target_node_id (empty) 7cde01e9-d570-4845-b195-ea91f7cfc50b
create UringMachine — High Performance Concurrency for Ruby Using io_uringaboutFiber
context (empty) Explains fibers and fiber-based concurrency in Ruby.
relation (empty) about
source_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
target_node_id (empty) 860795aa-c3c8-4d76-8965-67ebbad2f2b8
create UringMachine — High Performance Concurrency for Ruby Using io_uringaboutRun Queue
context (empty) Introduces the run-queue abstraction to mediate fiber switching.
relation (empty) about
source_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
target_node_id (empty) ac6e5d4b-1d49-4147-9501-29f007214326
create UringMachine — High Performance Concurrency for Ruby Using io_uringaboutFiber Scheduler
context (empty) Discusses Ruby's Fiber Scheduler interface and UringMachine's implementation of it.
relation (empty) about
source_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
target_node_id (empty) 033ec84f-689b-4b77-a25a-af0ac6cb3254
create UringMachine — High Performance Concurrency for Ruby Using io_uringaboutProvided Buffers
context (empty) Explains io_uring provided buffers and incremental consumption.
relation (empty) about
source_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
target_node_id (empty) ecc16767-cf48-470b-a339-07d1ba9f523e
create UringMachine — High Performance Concurrency for Ruby Using io_uringaboutMulti-shot Operations
context (empty) Discusses multi-shot accept/timeout/read/receive.
relation (empty) about
source_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
target_node_id (empty) c9552225-8634-4ae9-83b2-8539feeaca02
create UringMachine — High Performance Concurrency for Ruby Using io_uringaboutEventMachine
context (empty) Positions UringMachine as a modern replacement for unmaintained EventMachine.
relation (empty) about
source_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
target_node_id (empty) f5ea8d9f-1815-450c-ba00-8f3c9f31dfb2
create UringMachine — High Performance Concurrency for Ruby Using io_uringaboutPolyphony
context (empty) Sharon mentions Polyphony as his earlier io_uring concurrency gem.
relation (empty) about
source_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
target_node_id (empty) 98108655-6020-4553-806f-d3eb68235028
create UringMachine — High Performance Concurrency for Ruby Using io_uringaboutasync
context (empty) Benchmarks compare UringMachine against the async fiber scheduler.
relation (empty) about
source_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
target_node_id (empty) 4d8e2014-65dc-4a6f-bc12-9ff52b673763
create UringMachine — High Performance Concurrency for Ruby Using io_uringaboutFalcon
context (empty) Mentions Falcon as Samuel Williams's async-based web server; Sharon does not use it.
relation (empty) about
source_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
target_node_id (empty) 54b63203-39a1-48cd-9fde-a17fbc68d768
create Fiber Schedulerrelated_toRuby
context (empty) Interface added to Ruby 3.0 by Samuel Williams.
relation (empty) related_to
source_node_id (empty) 033ec84f-689b-4b77-a25a-af0ac6cb3254
target_node_id (empty) c7f25b33-06c9-460e-aca7-fe993123ebee
create Samuel WilliamsauthoredFiber Scheduler
context (empty) Introduced the Fiber Scheduler interface to Ruby 3.0.
relation (empty) authored
source_node_id (empty) 649210c1-bd34-4ac8-8160-3da99d66b0c7
target_node_id (empty) 033ec84f-689b-4b77-a25a-af0ac6cb3254
create Samuel Williamsworks_onasync
attrs (empty) {"role" => "author"}
context (empty) Author of the async family of gems.
relation (empty) works_on
source_node_id (empty) 649210c1-bd34-4ac8-8160-3da99d66b0c7
target_node_id (empty) 4d8e2014-65dc-4a6f-bc12-9ff52b673763
create Samuel Williamsworks_onFalcon
attrs (empty) {"role" => "author"}
context (empty) Author of the Falcon web server.
relation (empty) works_on
source_node_id (empty) 649210c1-bd34-4ac8-8160-3da99d66b0c7
target_node_id (empty) 54b63203-39a1-48cd-9fde-a17fbc68d768
create asyncusesFiber Scheduler
context (empty) async is a fiber-scheduler implementation.
relation (empty) uses
source_node_id (empty) 4d8e2014-65dc-4a6f-bc12-9ff52b673763
target_node_id (empty) 033ec84f-689b-4b77-a25a-af0ac6cb3254
create Falconusesasync
context (empty) Falcon is built on top of the async ecosystem.
relation (empty) uses
source_node_id (empty) 54b63203-39a1-48cd-9fde-a17fbc68d768
target_node_id (empty) 4d8e2014-65dc-4a6f-bc12-9ff52b673763
create UringMachinerelated_toEventMachine
context (empty) Named in homage to EventMachine and intended as its replacement.
relation (empty) related_to
source_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
target_node_id (empty) f5ea8d9f-1815-450c-ba00-8f3c9f31dfb2
create Sharon RosnerrecommendsThe Mythical IO-Bound Rails App
context (empty) Sharon recommends the article for its detailed discussion of CPU-bound work in real Rails apps.
relation (empty) recommends
source_node_id (empty) 309b86ce-8d1a-44c2-a8c7-e7320b708358
target_node_id (empty) 044862d2-ab41-4734-a033-77eceddbfbd5
create Jean BoussierauthoredThe Mythical IO-Bound Rails App
context (empty) Jean Boussier wrote the article.
relation (empty) authored
source_node_id (empty) a93d562f-f084-4002-8d01-a94d68b71fde
target_node_id (empty) 044862d2-ab41-4734-a033-77eceddbfbd5
create The Mythical IO-Bound Rails AppaboutRuby on Rails
context (empty) Argues real Rails apps are more CPU-bound than commonly assumed.
relation (empty) about
source_node_id (empty) 044862d2-ab41-4734-a033-77eceddbfbd5
target_node_id (empty) 7aac705a-0987-49f2-b665-9d4e08a6acee
create Multi-shot Accept Backlog Concernasked_atUringMachine — High Performance Concurrency for Ruby Using io_uring
context (empty) Audience Q&A.
relation (empty) asked_at
source_node_id (empty) a62cd65e-50e0-4cfb-a4e9-5e98c3e169e0
target_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
create Multi-shot Accept Backlog ConcernaboutMulti-shot Operations
context (empty) Concerns multi-shot accept behavior.
relation (empty) about
source_node_id (empty) a62cd65e-50e0-4cfb-a4e9-5e98c3e169e0
target_node_id (empty) c9552225-8634-4ae9-83b2-8539feeaca02
create Do You Use Falcon With Your Framework?asked_atUringMachine — High Performance Concurrency for Ruby Using io_uring
context (empty) Audience Q&A.
relation (empty) asked_at
source_node_id (empty) 4358997d-523f-424e-8004-5183ab0c958d
target_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
create Do You Use Falcon With Your Framework?aboutFalcon
context (empty) Asks about Sharon's use of the Falcon web server.
relation (empty) about
source_node_id (empty) 4358997d-523f-424e-8004-5183ab0c958d
target_node_id (empty) 54b63203-39a1-48cd-9fde-a17fbc68d768
create Do You Use Falcon With Your Framework?aboutSyntropy
context (empty) Discusses whether Syntropy runs on Falcon.
relation (empty) about
source_node_id (empty) 4358997d-523f-424e-8004-5183ab0c958d
target_node_id (empty) 5b625079-a73a-4972-a788-0bad385b8f39
create Business Motivation for UringMachineasked_atUringMachine — High Performance Concurrency for Ruby Using io_uring
context (empty) Audience Q&A.
relation (empty) asked_at
source_node_id (empty) 55747210-dcb9-415d-83a3-b5a048d82743
target_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
create Business Motivation for UringMachineaboutEventMachine
context (empty) Answer explains UringMachine was motivated by replacing unmaintained EventMachine in industrial process-control apps.
relation (empty) about
source_node_id (empty) 55747210-dcb9-415d-83a3-b5a048d82743
target_node_id (empty) f5ea8d9f-1815-450c-ba00-8f3c9f31dfb2
create Business Motivation for UringMachineaboutPolyphony
context (empty) Answer references Polyphony as a prior, too-high-level attempt.
relation (empty) about
source_node_id (empty) 55747210-dcb9-415d-83a3-b5a048d82743
target_node_id (empty) 98108655-6020-4553-806f-d3eb68235028
create io_uring Beats Threads More as Concurrency Growsfrom_talkUringMachine — High Performance Concurrency for Ruby Using io_uring
context (empty) Benchmark result presented by Sharon.
relation (empty) from_talk
source_node_id (empty) 9b321714-6515-4300-887c-6f26dfac412b
target_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
create io_uring Beats Threads More as Concurrency GrowsaboutUringMachine
context (empty) UringMachine's benchmark advantage over threads and async.
relation (empty) about
source_node_id (empty) 9b321714-6515-4300-887c-6f26dfac412b
target_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
create Real Rails Apps Are Not IO-Boundfrom_talkUringMachine — High Performance Concurrency for Ruby Using io_uring
context (empty) Sharon's caveat after showing the synthetic benchmark.
relation (empty) from_talk
source_node_id (empty) 651e9a21-12a5-43fb-bccf-c06771aa1963
target_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
create Real Rails Apps Are Not IO-BoundaboutRuby on Rails
context (empty) Applies specifically to Rails workloads.
relation (empty) about
source_node_id (empty) 651e9a21-12a5-43fb-bccf-c06771aa1963
target_node_id (empty) 7aac705a-0987-49f2-b665-9d4e08a6acee
create Real Rails Apps Are Not IO-BoundaboutThe Mythical IO-Bound Rails App
context (empty) Points readers to Jean Boussier's article.
relation (empty) about
source_node_id (empty) 651e9a21-12a5-43fb-bccf-c06771aa1963
target_node_id (empty) 044862d2-ab41-4734-a033-77eceddbfbd5
create UringMachine as EventMachine Replacementfrom_talkUringMachine — High Performance Concurrency for Ruby Using io_uring
context (empty) Expressed explicitly in the talk and Q&A.
relation (empty) from_talk
source_node_id (empty) 68e48cf0-a68f-4fd5-a80f-a514bfdbb312
target_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
create UringMachine as EventMachine ReplacementaboutEventMachine
context (empty) Replacement motivation for unmaintained EventMachine.
relation (empty) about
source_node_id (empty) 68e48cf0-a68f-4fd5-a80f-a514bfdbb312
target_node_id (empty) f5ea8d9f-1815-450c-ba00-8f3c9f31dfb2
create UringMachine as EventMachine ReplacementaboutUringMachine
context (empty) Explains UringMachine's positioning.
relation (empty) about
source_node_id (empty) 68e48cf0-a68f-4fd5-a80f-a514bfdbb312
target_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
create Provided Buffers Enable Automatic Buffer Managementfrom_talkUringMachine — High Performance Concurrency for Ruby Using io_uring
context (empty) Sharon explains the automatic buffer-management design.
relation (empty) from_talk
source_node_id (empty) 01e3991c-e849-49b5-875c-a0e4e24d729d
target_node_id (empty) 244fbe46-dd7e-40f6-861b-e633e2c51aee
create Provided Buffers Enable Automatic Buffer ManagementaboutProvided Buffers
context (empty) Built on io_uring provided buffers with incremental consumption.
relation (empty) about
source_node_id (empty) 01e3991c-e849-49b5-875c-a0e4e24d729d
target_node_id (empty) ecc16767-cf48-470b-a339-07d1ba9f523e
create Provided Buffers Enable Automatic Buffer ManagementaboutUringMachine
context (empty) How UringMachine's automatic buffer management works.
relation (empty) about
source_node_id (empty) 01e3991c-e849-49b5-875c-a0e4e24d729d
target_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
create io_uringrelated_toRuby
context (empty) UringMachine brings io_uring to the Ruby language.
relation (empty) related_to
source_node_id (empty) 7cde01e9-d570-4845-b195-ea91f7cfc50b
target_node_id (empty) c7f25b33-06c9-460e-aca7-fe993123ebee
create UringMachinerelated_toRuby on Rails
context (empty) A proof-of-concept Rack-compatible web server runs Rails on UringMachine; Sharon wants deeper Rails integration.
relation (empty) related_to
source_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
target_node_id (empty) 7aac705a-0987-49f2-b665-9d4e08a6acee
create UringMachinerelated_toHanami
context (empty) Sharon lists Hanami as a future integration target.
relation (empty) related_to
source_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
target_node_id (empty) 9e549b38-6071-4b4d-88ea-ca5c3d86afa7
create UringMachinerelated_toSidekiq
context (empty) Sharon lists Sidekiq as a future integration target.
relation (empty) related_to
source_node_id (empty) abf47973-bbfa-4870-aa75-88606dad00f6
target_node_id (empty) 2365c22d-c83e-4553-b865-ec22d0b5b225

Read set

104 nodes

person Sharon Rosner search_nodes+get_node_edges concept Auto-yielding Fibers search_nodes tool async search_nodes concept Global Interpreter Lock search_nodes concept True Parallelism on the JVM search_nodes tool Celluloid search_nodes question What is the Ractor implementation modeled on? search_nodes concept Ractor search_nodes tool concurrent-ruby search_nodes talk UringMachine — High Performance Concurrency for Ruby Using io_uring search_nodes+get_node_edges concept Turing Machine search_nodes concept State Machine search_nodes tool Ruby search_nodes talk One machine please, make it Turing search_nodes tool Ruby LLM search_nodes takeaway Port Python Libraries With ChatGPT search_nodes project Ruby Romania search_nodes talk Scientific Ruby Lightning Talk search_nodes tool TruffleRuby search_nodes concept epoll search_nodes question Measured async performance vs sequential and threads search_nodes takeaway EPOLLONESHOT removes ready sockets automatically search_nodes concept Non-blocking I/O search_nodes concept kqueue search_nodes concept Bouncing Select search_nodes concept Blocking I/O search_nodes tool Action Cable search_nodes tool HTTP gem search_nodes tool Active Job Continuation search_nodes takeaway Prefer a simple top-to-bottom worker search_nodes tool Rack search_nodes tool server-engine search_nodes tool Unicorn search_nodes tool Iodine search_nodes tool Passenger search_nodes tool Ruby on Rails search_nodes resource serverlessforruby.org Petition search_nodes tool Puma search_nodes tool JRuby Rack search_nodes tool FakeWeb search_nodes tool Polars Ruby search_nodes tool Sonic Pi search_nodes tool Dependency search_nodes takeaway Port Chrono Ideas To Ruby search_nodes project Ruby UI search_nodes project gemcheck search_nodes tool JRuby search_nodes talk Methods Gem for Ruby Method References search_nodes tool EventMachine search_nodes concept Reactor search_nodes tool Ruby Event Store search_nodes project Eventide search_nodes takeaway Per-Event Backups Via Reactors search_nodes talk Event Sourcing and Actor model in Ruby search_nodes tool hanami-events search_nodes event wroclove.rb 2026 search_nodes event wroclove.rb 2022 search_nodes event wroclove.rb 2024 search_nodes event wroclove.rb 2025 search_nodes event wroclove.rb 2023 search_nodes event wroclove.rb 2019 search_nodes event wroclove.rb 2018 search_nodes talk Performance Panel wroclove.rb 2024 search_nodes talk Fix Production Bugs 20x Faster search_nodes talk Mutation testing workshop wroclove.rb 2019 search_nodes tool Bootsnap search_nodes talk Better WebPerformance with Rails search_nodes project Solid Queue search_nodes talk When REST is Not Enough: Implementing Alternative Protocols in Ruby on Rails search_nodes takeaway Extract the slow server out of Ruby search_nodes resource Rocket Real-Time Benchmark search_nodes concept Saga Pattern search_nodes question Scaling Sidekiq Elastically search_nodes tool ruby-openai search_nodes concept C Extensions search_nodes takeaway Use Ruby Packer for Single-Binary CLIs search_nodes tool RubyGems search_nodes tool AWS SDK for Ruby search_nodes concept Build Gems in Docker Isolation search_nodes takeaway Use JVM libraries from Ruby search_nodes takeaway Upgrade Ruby version for free speed search_nodes tool Ruby Packer search_nodes tool Hanami search_nodes tool Hanami View search_nodes tool Axon Framework search_nodes concept Cynefin Framework search_nodes project monolith framework search_nodes talk Extracting logic from templates with Hanami Views search_nodes talk Towards the post framework future search_nodes tool Ember.js search_nodes tool Sidekiq search_nodes concept Sidekiq Batches search_nodes takeaway Prefer Small Sidekiq Jobs search_nodes concept Sidekiq Middleware search_nodes takeaway Keep Sidekiq Job Parameters Simple search_nodes talk Under The Hood And On The Surface Of Sidekiq search_nodes question Sidekiq And Redis Cluster search_nodes question Application-Level Back Pressure For Sidekiq search_nodes talk Sidekiq Batches Lightning Talk search_nodes tool parallel_tests search_nodes tool Express.js search_nodes project AnyCable search_nodes concept Zero-Disconnect Deployment search_nodes takeaway Signed On-the-fly URLs search_nodes

2 edges