Ruby Concurrency

Open-source Ruby projects categorized as Concurrency

Top 11 Ruby Concurrency Projects

  • 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.

  • Project mention: Concurrent-ruby (async) S3 files download | dev.to | 2024-05-17

    Let’s say we need to traverse through thousands of files in our S3 Storage in a Ruby app. Let’s say we have a bunch of logs there that we need to read every day and process. If we just use a straightforward approach, like opening, reading, and processing every file one by one, our solution will work, but It will take a lot of time to process. So we need to improve the speed. Here ruby-concurrent gem is our helper https://github.com/ruby-concurrency/concurrent-ruby. Why do we need this gem? Because It’s simpler to use than Threads and this gem has a lot more features in It. In this article, we will use Concurrent::Promises.future as the most common use of concurrent code. Because reading a file from S3 is an IO operation, we can get a huge benefit in speed if we gonna use concurrent code doing HTTP requests. Remember that concurrency will not give you speed improvements if in every Promise or Thread you will do any calculations. Because of Ruby GIL, every thread will be blocked until calculations are finished.

  • EventMachine

    EventMachine: fast, simple event-processing library for Ruby programs

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Celluloid

    Actor-based concurrent object framework for Ruby

  • JRuby

    JRuby, an implementation of Ruby on the JVM

  • Project mention: Shoes makes building little graphical programs for Mac, Windows, Linux simple | news.ycombinator.com | 2024-02-23

    As someone who has looked at Shoes several times but never dove in, it's confusing how Shoes 4 has been the "preview version" of Shoes for, like, a decade or more. It made me actively avoid getting invested in Shoes 3 (the release promoted on the linked website) because Shoes 4 requires JRuby and I am happy with CRuby (the Ruby interpreter most people think of when they hear "Ruby").

    https://github.com/shoes/shoes4/

    http://www.rubydoc.info/github/shoes/shoes4

    No disrespect to the developers but to me it feels like taking over a GUI toolkit created "to teach programming to everyone" (to quote the Shoes 4 readme) and making it depend upon a super-complicated enterprise-focused Ruby was sort of Missing The Point™ in a huge way.

    Heck I couldn't even switch to JRuby if I wanted to because I <3 Ractors and JRuby still lacks CRuby 3.0 feature parity: https://github.com/jruby/jruby/issues/7459

  • Async Ruby

    An awesome asynchronous event-driven reactor for Ruby. (by socketry)

  • Project mention: EventMachine Performance Spikes | /r/ruby | 2023-09-05

    The Async gem is the natural successor, It's actively maintained, and allows you write synchronous code is if it wasn't non-blocking, and most libraries don't need any special support for Async (exceptions are gems with C extensions that do I/O and DB libraries with connection pooling that would otherwise be thread-based).

  • render_async

    render_async lets you include pages asynchronously with AJAX

  • sidekiq-throttled

    Concurrency and rate-limit throttling for Sidekiq

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • paralines

    Nice output to console/file from concurrent threads

  • concurrent_rails

    🕹 Small library to make concurrent-ruby and Rails play nice together

  • distributed-lock-google-cloud-storage-ruby

    Ruby implementation of a distributed lock based on Google Cloud Storage

  • Opal-Async

    Non-blocking tasks and enumerators for Opal.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Ruby Concurrency related posts

  • Concurrent-ruby (async) S3 files download

    1 project | dev.to | 17 May 2024
  • Ruby class pattern to work with API requests with built-in async approach

    8 projects | dev.to | 16 May 2024
  • A Tour of Go Examples in Ruby

    1 project | news.ycombinator.com | 16 Mar 2024
  • Exploring concurrent rate limiters, mutexes, semaphores

    2 projects | dev.to | 11 Sep 2023
  • EventMachine Performance Spikes

    2 projects | /r/ruby | 5 Sep 2023
  • My Adventure with Async Ruby

    1 project | news.ycombinator.com | 3 Sep 2023
  • Is ruby really slow?

    2 projects | /r/ruby | 21 Apr 2023
  • A note from our sponsor - SaaSHub
    www.saashub.com | 19 May 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Index

What are some of the best open-source Concurrency projects in Ruby? This list will help you:

Project Stars
1 Concurrent Ruby 5,631
2 EventMachine 4,247
3 Celluloid 3,884
4 JRuby 3,750
5 Async Ruby 1,999
6 render_async 1,072
7 sidekiq-throttled 658
8 paralines 44
9 concurrent_rails 34
10 distributed-lock-google-cloud-storage-ruby 16
11 Opal-Async 9

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com