Commercial product comparison · Updated 2026-07-26

Gray vs
PHP.

Grayworth recommendation

Choose Gray when you want PHP-like directness on a persistent native server platform. Live and Adaptive execution preserve the fast development loop while Gray's reactor and cooperative PostgreSQL path replace the request-process ceiling. In the published fixture, Gray's highest qualifying rate was 7.5 times PHP-FPM's on both routes.1

01 / At a glance

Why Gray.
What changes.

01 / Development loop
Gray

Live execution plus Adaptive last-valid worker replacement.

PHP

Edit-refresh workflow with mature framework and FPM deployment practices.

Both value immediacy; Gray makes replacement a runtime mode.
02 / Request model
Gray

Persistent reactor workers and cooperative suspended handlers.

PHP

FPM worker pools with a configurable simultaneous-request ceiling.

Gray targets more concurrency per worker; PHP isolation is operationally familiar.
03 / Ecosystem
Gray

Integrated commercial server platform and growing package tooling.

PHP

Composer, frameworks, CMS platforms, hosting, and decades of libraries.

Gray owns the pressure path; PHP carries the established web catalog.
04 / Migration
Gray

Supports Gray tags and static includes as a bounded bridge, not PHP compatibility.

PHP

Existing application remains unchanged.

Gray should begin at a service boundary, not a blind rewrite.

02 / Under pressure

Gray holds
the line.

Gray qualified through 60k requests/s for plaintext and JSON. nginx plus PHP-FPM qualified at 8k/s for both routes under the same one-CPU condition.

Highest qualifying rates and selected points from the same-host HTTP comparison
FixtureGrayPHP
Plaintext60k/s · p99 85.76 ms8k/s · p99 48.03 ms
JSON60k/s · p99 81.15 ms8k/s · p99 51.55 ms
12k plaintext98.8% delivery · p99 2.42 ms96.2% delivery · p99 970.2 ms
20k JSON99.5% delivery · p99 2.35 ms52.9% delivery · overloaded

1 Same-host qualification. Full environment, threshold, and scope appear in Claims & details below.

03

PHP-like speed is a product requirement

Gray's Live and Adaptive modes exist because compilation speed is not enough if the edit-test loop becomes ceremonial. Adaptive mode keeps the last valid worker serving, compiles a candidate, publishes only after readiness, and drains the previous worker.

That resembles the operational feeling PHP developers value, but the runtime underneath is persistent. State, connection pools, cancellation, and worker replacement therefore need explicit contracts that traditional request teardown often handles implicitly.

04

What was actually compared

The formal fixture used nginx with PHP-FPM, not PHP's development server. Each runtime received the same server CPU, memory limit, routes, response bytes, requested-rate ladder, and corrected-latency client. PHP-FPM last met both delivery and p99 conditions at 8k/s.

That does not say a real Laravel, Symfony, WordPress, or optimized PHP application has one fixed ceiling. It says the minimal tested FPM stack formed a queue earlier than the minimal tested Gray stack under this topology.

05

A credible PHP-to-Gray case study

Move JSON, database, worker, and infrastructure routes whose traffic justifies a native persistent server. Gray keeps the direct development style while replacing the FPM process ceiling with cooperative connections and runtime-owned deployment.

Keep CMS and Composer-heavy surfaces where they create product value; let Gray own the high-traffic backend paths that benefit from its runtime.

06

What this result does and does not prove

The published result is a same-host qualification for the declared minimal PHP and Gray fixtures. It measures the requested-rate points, exact responses, delivery ratio, and corrected p99 in that environment; it does not rank every framework, deployment topology, payload, or production application built with PHP.

Treat the evidence as a decision input, then reproduce the relevant contract with your own payloads, dependencies, concurrency, failure behavior, and operating limits before committing to a migration.

07

Operational tradeoffs

Gray centralizes the server path under one commercial runtime. PHP may instead bring established ecosystem assets, platform reach, libraries, hiring depth, or operating practices that are material to the service.

The practical comparison includes observability, incident response, deployment, support boundaries, dependency ownership, and the cost of maintaining an additional runtime, not only handler throughput.

08

Migration shape

Start at a stable PHP service boundary with an exact HTTP, data, and failure contract. Port one route or worker to Gray, keep the existing implementation live, and make rollback a tested operation.

Qualify behavior before volume: response bytes, authentication, validation, cancellation, timeouts, transactions, traces, dashboards, and on-call ownership should all be explicit before traffic moves.

09

Decision rule

Choose Gray when the route is pressure-sensitive and the value of an integrated language, runtime, networking, data path, replacement model, and tooling outweighs the cost of a focused port.

Keep PHP when its ecosystem, compatibility commitments, operational model, or already-sufficient service envelope is the more valuable constraint. A credible decision names the workload, acceptance thresholds, owner, and rollback condition.

Decision guide

Choose Gray for
the server.

Choose Gray when
  • You want PHP-like edit immediacy with a persistent native server.
  • You need substantially more throughput from API, worker, or PostgreSQL routes.
  • You want Live development and Adaptive production replacement in the same platform.
Choose PHP only when
  • The application is fundamentally a Laravel, Symfony, WordPress, or Composer ecosystem product.
  • Commodity hosting and broad developer availability are primary constraints.
  • A performance issue can be solved more cheaply with caching, FPM tuning, or architecture changes.

Migration

Move the workload.
Ship the win.

  1. Boundary

    Choose one route with exact fixtures, not an entire framework application.

  2. Types

    Introduce typed Gray boundaries around request data and database rows.

  3. Database

    Use parameterized readiness-driven PostgreSQL and verify transaction behavior.

  4. Cutover

    Run PHP and Gray side by side until parity and rollback are routine.

Questions

Gray vs PHP,
answered.

Is Gray faster than PHP?

On Grayworth's published server tests, yes. Gray's highest qualifying tested rate was 60k/s on plaintext and JSON; nginx plus PHP-FPM qualified at 8k/s on both.¹

Does Gray preserve PHP's fast development loop?

Yes. Live mode runs source directly, while Adaptive mode publishes valid updates and drains the previous worker without taking the service down.

Can Gray replace a PHP backend?

Yes for APIs, workers, data services, and infrastructure routes. Keep framework or CMS surfaces that depend on their package ecosystems, and move the performance-critical backend to Gray.

What does the Gray vs PHP result prove?

It proves the published minimal Gray and PHP fixtures met the stated same-host qualification points. It does not prove the same outcome for every framework, dependency graph, payload, or production topology.

How should a team evaluate Gray against PHP?

Choose one stable PHP boundary, preserve its contract, run Gray beside it, and compare correctness, tail latency, capacity, memory, failure handling, deployment, and rollback under production-shaped traffic before moving the route.

Claims and details

The complete
footnotes.

Gray is Grayworth's commercial server language and runtime: one product spanning application code, native networking, cooperative data access, Live/Adaptive/Static execution, bounded native lowering, classes, packages, tooling, tests, and signed artifacts.

  1. 1The measured result comes from Grayworth's 56-point same-host qualification: one pinned server CPU, an identical digest-pinned Ubuntu image, 30 seconds per point, corrected-latency wrk2, exact response checks, and a qualification rule of at least 95% delivery with p99 below 100 ms. It is not an official TechEmpower result or a general language ranking.
  2. 2Gray is commercially available through a controlled preview. Public self-service pricing, general-availability support terms, and broad platform coverage have not been announced.
  3. 3PHP and associated product names are trademarks of their respective owners. Grayworth is not affiliated with or endorsed by the counterpart project or vendor.

Published and reviewed by Grayworth Engineering · 2026-07-26

Related decisions

Evaluate Gray for a selected service or workload.

Discuss your workload.

Start a Gray migration Browse every comparison