Concurrent Ruby VS Ruby on Rails

Compare Concurrent Ruby vs Ruby on Rails and see what are their differences.

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. (by ruby-concurrency)
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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
Concurrent Ruby Ruby on Rails
14 467
5,629 54,936
0.3% 0.3%
7.4 10.0
27 days ago 1 day ago
Ruby Ruby
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Concurrent Ruby

Posts with mentions or reviews of Concurrent Ruby. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-11.
  • 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
    After this, I took a look at the semaphore class in the popular library, concurrent-ruby to see how they implement it, and I learnt about something new: condition variables. And Ruby comes with this included!
  • My Adventure with Async Ruby
    1 project | news.ycombinator.com | 3 Sep 2023
    https://github.com/ruby-concurrency/concurrent-ruby has great docs if someone is looking for alternatives.
  • My Adventure With Async Ruby
    1 project | /r/ruby | 23 Jan 2023
    I wonder how this would compare to using concurrent-ruby under ruby 2.7, especially in a real-world setting (where the calls are actually to external services that return and buffer data, instead of just sleep). The author says that he's felt that ruby threads "feel easy to mess up," but I've found that concurrent-ruby makes it pretty simple, and performant enough even with the GIL.
  • Using Concurrent::Promise while rescuing exceptions in Ruby
    2 projects | dev.to | 12 Aug 2022
    As I could not find a clear example about how to rescue exceptions from Concurrent::Promises (part of the Concurrent Ruby gem ) I read through the documentation and here are two examples: one that documents success case and one that shows what is happening when there is an error.
  • Ask HN: Any efforts to remove the GIL for Ruby?
    2 projects | news.ycombinator.com | 15 Jun 2022
    In a sense the GIL (or actually GVL as it's called in current ruby versions) has already been removed for ruby.

    It's only the original MRI Ruby that still has it several over Ruby implementations already removed it. e.g. JRuby.

    Concurrent-Ruby[1] is probably a good place to start if you want to work with GVL free ruby on JRuby. It's quite well supported and is currently used by Rails.

    If you just want async or non-blocking IO I'd take a look at the Async Gem[2]. It looks pretty solid in Ruby > 3.0 and it's been invited by Matz to be part of the stdlib, which I think is a pretty good endorsement.

    For MRI itself I don't think it's likely they'll ever remove the GVL. Ractors are probably a better solution for CPU concurrency in the long run, although I think they're pretty experimental currently.

    1. https://github.com/ruby-concurrency/concurrent-ruby

  • Intro to Thread-safety in Ruby on Rails
    1 project | /r/ruby | 23 Mar 2022
    I like how the article exposes you to tools to prove/disprove the problem. I would have hoped it introduced to tools like concurrent ruby and the use of atomics like u/Freeky already mentioned though.
  • How to get results from Concurrent::Promise::all?
    1 project | /r/ruby | 11 Mar 2022
    Using conccurrent-ruby, how can I execute a set of promises and then get the results?
  • Ruby 3.1.0 Released
    3 projects | /r/programming | 25 Dec 2021
    I’d highly recommend the concurrent-ruby gem that has implementations of various metaphors of concurrency, from async to promises, as well as edge features such as actors.
  • Using Thread.new
    1 project | /r/rails | 29 Apr 2021
    You may want to consider using something like concurrent-ruby that provides nice abstractions over multithreading.

Ruby on Rails

Posts with mentions or reviews of Ruby on Rails. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-31.
  • GitHub Incident with Issues, API Requests and Pull Requests
    1 project | news.ycombinator.com | 5 Apr 2024
    [0] is a my favorite demonstration of it.

    [0]: https://github.com/rails/rails/commit/b83965785db1eec019edf1...

  • Client side Git hooks 101
    2 projects | dev.to | 31 Mar 2024
    Here's a real life example: Imagine a Ruby on Rails app on which a team of developers are working. The code is hosted on GitLab and all the work is coordinated using GitLab issues. In other words: For every commit, there's an associated issue and the issue number acts as a sort of primary key for documentation, time reporting and so forth. This convention has a few advantages, most notably the ability to easily learn more about how, when and by whom features were implemented as well as how this implementation came to be.
  • 16 Best Ruby Frameworks For Web Development [2024]
    6 projects | dev.to | 11 Mar 2024
    Ruby on Rails is regarded as one of the best ruby frameworks. It was the primary language in developing big projects such as Twitter and helped the language boost the community. Often referred to as “Rails,” Ruby on Rails is a web development framework with an MVC control structure and currently running its 6.1 version. The 16-year-old language has dramatically influenced the web development structures and managing databases, web pages, and other components on a web application.
  • More control over enum in Rails 7.1
    1 project | dev.to | 29 Feb 2024
    In Rails 7.1, a new option _instance_methods is introduced, allowing developers to opt-out of the automatic generation of instance methods for enums. When enum is defined with _instance_methods: false, Rails will no longer generate methods like pending?, processed?, etc.
  • Ruby on Rails load testing habits
    5 projects | news.ycombinator.com | 25 Jan 2024
    Rails isn't super opinionated about database writes, its mostly left up to developers to discover that for relational DBs you do not want to be doing a bunch of small writes all at once.

    That said it specifically has tools to address this that started appearing a few years ago https://github.com/rails/rails/pull/35077

    The way my team handles it is to stick Kafka in between whats generating the records (for us, a bunch of web scraping workers) and and a consumer that pulls off the Kafka queue and runs an insert when its internal buffer reaches around 50k rows.

    Rails is also looking to add some more direct background type work with https://github.com/basecamp/solid_queue but this is still very new - most larger Rails shops are going to be running a second system and a gem called Sidekiq that pulls jobs out of Redis.

  • DHH installing Campfire (37s ONCE #1) [video]
    1 project | news.ycombinator.com | 19 Jan 2024
    I'm looking forward to see what extractions from this will land on rails. For example: https://github.com/rails/rails/issues/50454
  • First commits in a Ruby on Rails app
    6 projects | dev.to | 17 Jan 2024
    Here is what strict_loading does (source):
  • Continuous Deployment with GitHub Actions and Kamal
    4 projects | dev.to | 7 Jan 2024
    Kamal is a wonderfully simple way to deploy your applications anywhere. It will also be included by default in Rails 8. Kamal is trivial, but I don’t recommend using it on your development machine.
  • What's Coming in Rails 8
    1 project | news.ycombinator.com | 5 Jan 2024
    Here's the GitHub milestone I've based this article on — https://github.com/rails/rails/milestone/87
  • Rails 8 Plan
    1 project | news.ycombinator.com | 27 Dec 2023

What are some alternatives?

When comparing Concurrent Ruby and Ruby on Rails you can also consider the following projects:

Async Ruby - An awesome asynchronous event-driven reactor for Ruby.

Roda - Routing Tree Web Toolkit

Celluloid - Actor-based concurrent object framework for Ruby

Hanami - The web, with simplicity.

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

Sinatra - Classy web-development dressed in a DSL (official / canonical repo)

Polyphony - Fine-grained concurrency for Ruby

CodeBehind Framework - CodeBehind library is a modern backend framework. This library is a programming model based on the MVC structure, which provides the possibility of creating dynamic aspx files in .NET Core and has high serverside independence.

render_async - render_async lets you include pages asynchronously with AJAX

Cuba - Rum based microframework for web development.

ruby-vips - Ruby extension for the libvips image processing library.

Padrino - Padrino is a full-stack ruby framework built upon Sinatra.