Pitchfork: Rack HTTP server for shared-nothing architecture

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. pitchfork

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. Puma

    A Ruby/Rack web server built for parallelism

    I'm the author of the original 'refork' feature introduced to Puma a couple years ago [1], that served as an inspiration for this project.

    As I understand it, Pitchfork is an implementation of a reforking feature on top of Unicorn, a single-threaded multi-process Rack HTTP server.

    The general idea of 'reforking' is that in addition to pre-forking worker processes at initialization time, you re-fork them on an ongoing basis, in order to optimize copy-on-write efficiency across processes, especially for memory allocations that might happen after initialization. The Pitchfork author mentions sharing YJIT machine code as a particularly important use-case [2], one that has become relevant in recent Ruby releases.

    I never saw much interest in the concept when I originally introduced the reforking feature to Puma, and it remained a kind of interesting experiment that never saw much production uptake. I'm thrilled that Shopify is iterating on the concept through this project and I hope the technique will continue to be refined and developed, and see broader adoption as a result.

    [1] https://github.com/puma/puma/pull/2099

  4. c2rust

    Migrate C code to Rust

    There are some tools specific to some transformations at least:

    https://c2rust.com/

  5. falcon

    A high-performance web server for Ruby, supporting HTTP/1, HTTP/2 and TLS. (by socketry)

    Could you command on any projects within Shopify that are helping Ruby's concurrency story? I'm aware of Ractors (https://docs.ruby-lang.org/en/master/ractor_md.html) and Fibers, but it's unclear to how feasible these primitives currently are to build the necessary abstractions on top of them that would make Rails more concurrent.

    https://github.com/socketry/falcon is an interesting project, but again, it's not clear how difficult it would be deploying a Rails app on top of this.

    There's a lot of really great projects happening and plenty to be hopeful about, but when that stuff will land or the changes the rest of the community and ecosystem should think about making still isn't clear.

  6. FrameworkBenchmarks

    Source for the TechEmpower Framework Benchmarks project

    PHP vs Ruby in web benchmark across multiple frameworks.

    https://www.techempower.com/benchmarks/#section=data-r21&l=z...

  7. SaaSHub

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

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Ruby, Rails, Multi-threading e Puma: Como tudo isso se conecta?

    2 projects | dev.to | 11 Feb 2025
  • Puma 6.6.0 Released – Return to Forever

    1 project | news.ycombinator.com | 28 Jan 2025
  • It's Time to Replace TCP in the Datacenter

    2 projects | news.ycombinator.com | 18 Nov 2024
  • Would you consider Rails as stable nowadays ?

    2 projects | /r/rails | 8 Dec 2023
  • Hosting Rails App on AWS

    2 projects | /r/rails | 27 Jun 2023