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:
Celluloid 2016 Projects
Pulkit BhatiaCelluloid - Adding new features to ReelReel is Celluloid::IO native, evented server which serves as bare-bones for http and webSocket server providing functionality such as Connection...
Prathmesh RanautCelluloid - Benchmarking and Performance ImprovementsCelluloid has gone through a lot of improvements since v0.13. This has somehow affected the performance. The aim of my project primarily is to create...
benzrfExtract ECellPrepare the existing ECell code for public release.