Celluloid
Polyphony
Our great sponsors
Celluloid | Polyphony | |
---|---|---|
2 | 21 | |
3,884 | 635 | |
-0.1% | 0.9% | |
0.0 | 0.0 | |
8 months ago | about 1 month ago | |
Ruby | C | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Celluloid
-
There are a *lot* of actor framework projects on Cargo.
Speaking as someone who has used Erlang longer than most, who created a pre-Elixir-like language for Erlang's BEAM VM, and who routinely listens to Carl Hewitt's rants about why Erlang actors are bad, and who tried to make a Ruby actor library after using innumerable other library-level actor solutions...
-
Best of (Ruby) Gems Series - What's Next? What's Hot?
Celluloid
Polyphony
-
Polyphony 1.4 Released
Read the release notes here: https://github.com/orgs/digital-fabric/discussions/110 The Polyphony docs: https://www.rubydoc.info/gems/polyphony The Polyphony repository: https://github.com/digital-fabric/polyphony
- Polyphony: Fine-Grained Concurrency for Ruby
-
Polyphony 0.99 released. Last release before 1.0!
Polyphony is a gem for building highly-concurrent Ruby programs. It utilizes Ruby fibers to provide a high-performance safe environment for launching any number of concurrent operations. Under the hood, Polyphony employs io_uring to maximize I/O performance (libev is used on platforms other than recent Linux kernels).
-
Async Ruby
how is this diff from: https://github.com/digital-fabric/polyphony
-
What's new in Polyphony and Tipi - August 2021 edition
Polyphony is a library for writing highly concurrent Ruby apps. Polyphony harnesses Ruby fibers and a powerful io_uring-based I/O runtime to provide a solid foundation for building high-performance concurrent Ruby apps.
-
Sorbet Compiler: An experimental, ahead-of-time compiler for Ruby
> Curious if there’s anything public about improving ruby performance from the I/O angle mentioned in the post.
I'm currently working on Polyphony [0], a Ruby gem for writing highly-concurrent Ruby apps. It uses Ruby fibers under the hood, and does I/O using io_uring (on Linux, there is also a libev-based backend).
-
Support for non-blocking fibers by wjordan · Pull Request #2601 · puma/puma
Tipi is from https://github.com/digital-fabric/polyphony and also in the PR they add a gem: https://github.com/digital-fabric/libev_scheduler
-
Best of (Ruby) Gems Series - What's Next? What's Hot?
Polyphony
- Ruby 3 is awesome! Writing cooperative multitasking with Fibers is easy.
-
What is the current state of event driven programming with fibers in ruby?
There's the Polyphony project, which implements seamless concurrency on top of Ruby fibers. It's still not production-grade, but is used in production. Polyphony follows a different path in that it allows developers to continue using the Ruby core and stdlib APIs, and consequentially large parts of the Ruby ecosystem, in a multi-fiber environment. It puts a strong emphasis on structured concurrency, robust error handling and providing concurrency primitives that can be used to implement all kinds of concurrency patterns, such as actors (message passing between different fibers) and supervision trees.
What are some alternatives?
Concurrent Ruby - Modern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns.
EventMachine - EventMachine: fast, simple event-processing library for Ruby programs
Async Ruby - An awesome asynchronous event-driven reactor for Ruby.
render_async - render_async lets you include pages asynchronously with AJAX
Opal-Async - Non-blocking tasks and enumerators for Opal.
ponyarchive - A wrapper for libarchive for Pony
ponyc - Pony is an open-source, actor-model, capabilities-secure, high performance programming language