digital-fabric / polyphony

Fine-grained concurrency for Ruby
https://www.rubydoc.info/gems/polyphony
MIT License
655 stars 17 forks source link
concurrency io-uring iouring libev networking polyphony ruby ruby-fibers structured-concurrency

Polyphony: Fine-Grained Concurrency for Ruby

Ruby gem

Tests

MIT License

Polyphony | pəˈlɪf(ə)ni |

  1. Music the style of simultaneously combining a number of parts, each forming an individual melody and harmonizing with each other.

  2. Programming a Ruby gem for concurrent programming focusing on performance and developer happiness.

What is Polyphony?

Polyphony is a library for building concurrent applications in Ruby. Polyphony harnesses the power of Ruby fibers to provide a cooperative, sequential coroutine-based concurrency model. Under the hood, Polyphony uses io_uring or libev to maximize I/O performance.

Features

Usage

Technical Discussion

Examples

For examples of specific use cases you can consult the bundled examples in Polyphony's GitHub repository.

Contributing to Polyphony

Issues and pull requests will be gladly accepted. Please use the Polyphony git repository as your primary point of departure for contributing.