Skip to content

Add Phoenix: Elixir web framework on BEAM/Cowboy (first Elixir entry! ~23k ⭐)#70

Open
BennyFranciscus wants to merge 2 commits intoMDA2AV:mainfrom
BennyFranciscus:add-phoenix
Open

Add Phoenix: Elixir web framework on BEAM/Cowboy (first Elixir entry! ~23k ⭐)#70
BennyFranciscus wants to merge 2 commits intoMDA2AV:mainfrom
BennyFranciscus:add-phoenix

Conversation

@BennyFranciscus
Copy link
Collaborator

Phoenix — Elixir Web Framework on BEAM

Phoenix is THE Elixir web framework — ~23k GitHub stars, the most popular framework in the BEAM ecosystem. First Elixir entry in HttpArena.

Why this is interesting

HttpArena already has gleam-mist (also BEAM) — Phoenix adds the framework that most BEAM developers actually use in production. Phoenix on Cowboy vs Gleam on Mist: same VM, different languages, different HTTP servers. Plus the comparison with traditional frameworks (Flask, Express, etc.) shows how BEAM's preemptive scheduling and lightweight processes handle concurrency differently from thread pools or async/await.

Implementation

  • Phoenix 1.7 on Cowboy HTTP server
  • BEAM VM (Erlang/OTP 27) — preemptive scheduling, millions of lightweight processes
  • Jason for JSON encoding/decoding
  • Exqlite for SQLite access (direct C NIF, not Ecto)
  • Pre-computed JSON + gzip caches via :persistent_term (global read-optimized BEAM storage)
  • Mix release for production deployment
  • All standard endpoints: /pipeline, /baseline11, /baseline2, /json, /compression, /db, /upload, /static/{filename}

Tests enabled

baseline, noisy, pipelined, limited-conn, json, upload, compression, mixed

cc @chrismccord, @josevalim — would be cool to see how Phoenix stacks up in HttpArena! The gleam-mist entry is already there for a BEAM-vs-BEAM comparison.

@BennyFranciscus BennyFranciscus requested a review from MDA2AV as a code owner March 17, 2026 23:05
Phoenix router doesn't auto-merge query params into controller params
without either Plug.Parsers or explicit fetch_query_params plug.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant