← 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 Rosner → authored → UringMachine — 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_uring → presented_at → wroclove.rb 2026
context (empty) → Talk delivered at wroclove.rb 2026 on 2026-04-17.
create Sharon Rosner → attended → wroclove.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 Rosner → works_on → UringMachine
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 Rosner → works_on → Polyphony
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 Rosner → works_on → Syntropy
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 UringMachine → uses → io_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 UringMachine → uses → Fiber
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 UringMachine → uses → Run 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 UringMachine → uses → Provided 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 UringMachine → uses → Multi-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 UringMachine → uses → Fiber 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 Syntropy → uses → UringMachine
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_uring → about → UringMachine
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_uring → about → io_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_uring → about → Fiber
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_uring → about → Run 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_uring → about → Fiber 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_uring → about → Provided 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_uring → about → Multi-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_uring → about → EventMachine
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_uring → about → Polyphony
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_uring → about → async
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_uring → about → Falcon
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 Scheduler → related_to → Ruby
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 Williams → authored → Fiber 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 Williams → works_on → async
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 Williams → works_on → Falcon
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 async → uses → Fiber 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 Falcon → uses → async
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 UringMachine → related_to → EventMachine
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 Rosner → recommends → The 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 Boussier → authored → The 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 App → about → Ruby 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 Concern → asked_at → UringMachine — 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 Concern → about → Multi-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_at → UringMachine — 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? → about → Falcon
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? → about → Syntropy
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 UringMachine → asked_at → UringMachine — 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 UringMachine → about → EventMachine
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 UringMachine → about → Polyphony
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 Grows → from_talk → UringMachine — 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 Grows → about → UringMachine
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-Bound → from_talk → UringMachine — 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-Bound → about → Ruby 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-Bound → about → The 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 Replacement → from_talk → UringMachine — 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 Replacement → about → EventMachine
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 Replacement → about → UringMachine
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 Management → from_talk → UringMachine — 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 Management → about → Provided 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 Management → about → UringMachine
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_uring → related_to → Ruby
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 UringMachine → related_to → Ruby 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 UringMachine → related_to → Hanami
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 UringMachine → related_to → Sidekiq
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