Painless multi-threaded multi-core programming for Ruby.

Do multi-threaded multi-core programming in Ruby.

Instead of resorting to Erlang, Elixr, Rust, Go, and Akka to use the Actor Model or do Event-driven Programming, keep writing more and more powerful Ruby code in new ways. With Celluloid, anyone can write their own high-performance, light-weight server applications. But it doesn't stop at server applications...

Celluloid is a Ruby gem that lets you turn any object into an Actor.

The joy of writing Ruby code doesn't end at high-performance concurrent, parallel, asynchronous, and distributed programming. Using the beautiful Ruby language and Celluloid, any kind of application can take full advantage of modern CPU's and cloud computing platforms, using the Actor model and Evented programming.

There are several gems in the Celluloid suite, and together they provide a complete toolset for actor-based evented multi-threaded, multi-core programming in Ruby:

Some examples of Celluloid uses...

  • HTTP/S and WebSocket Servers like those based on Reel.
  • Custom Domain Specific Languages like Angelo, for the web.
  • Background processing backends like Sidekiq and Sucker Punch.
  • High-performance protocol servers like Celluloid::DNS.
  • Distributed computing systems like DCell.
  • Telephone systems like Adhearsion.
  • Process monitoring tools like Eye.
  • Countless uses outside server applications, like:
    • IRC/Slack Bots, linking API Integrations.
    • Controlling multiple aerial drones and robots simultaneously.
    • High-fidelity transaction data and financial information processing using ZeroMQ.
    • Turning any program into a multi-threaded, evented, multi-core actor system.
lightbulb_outline View ideas list

Technologies

  • ruby
  • multi-threading
  • multi-core
  • zeromq
  • high-resolution timers

Topics

comment IRC Channel
email Mailing list
mail_outline Contact email
close

2016