Ruby Concurrency

Open-source Ruby projects categorized as Concurrency

Top 11 Ruby Concurrency Projects

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

  • SaaSHub

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

    SaaSHub logo
  • EventMachine

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

  • 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: Persistent Redis Connections in Sidekiq with Async::Redis: A Deep Dive. | dev.to | 2024-07-18

    Async is a composable asynchronous I/O framework for Ruby. It allows you to do things concurrently using Fibers. Since 3.0, Ruby has a fiber scheduler and Ruby core supports it. This means you can have non-blocking I/O without much effort, for example, when using Net::HTTP. If you perform a blocking operation, such as an HTTP call, inside a fiber, it will immediately yield so that another fiber can become active and do some useful work instead of blocking and waiting for the HTTP call to complete.

  • render_async

    render_async lets you include pages asynchronously with AJAX

  • sidekiq-throttled

    Concurrency and rate-limit throttling for Sidekiq

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

Log in or Post with

Ruby Concurrency related posts

  • Persistent Redis Connections in Sidekiq with Async::Redis: A Deep Dive.

    4 projects | dev.to | 18 Jul 2024
  • 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
  • A note from our sponsor - SaaSHub
    www.saashub.com | 5 Oct 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,683
2 EventMachine 4,254
3 Celluloid 3,886
4 JRuby 3,785
5 Async Ruby 2,115
6 render_async 1,079
7 sidekiq-throttled 704
8 paralines 45
9 concurrent_rails 35
10 distributed-lock-google-cloud-storage-ruby 17
11 Opal-Async 9

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