‹ Blog
Altan Stalker
Altan StalkerAltan Stalker

Nx Agents, now 4x faster & 30% cheaper than GitHub Actions

Nx Cloud has always been pushing your workspace's CI performance forward behind the scenes. The past few months have been no different. We've recently released two huge updates at no cost to new or existing users: optimized resource classes and improvements to our task distribution system via Continuous Assignment. We benchmarked the results against a standard GitHub Actions setup, and the numbers are significant enough to share.

The numbers

The benchmark operates on a large, realistic monorepo running its full affected pipeline with linting, typechecking, tests, builds, and e2e with Docker dependencies. We compare the new Nx Cloud features against a manually-sharded setup using the built-in features from the respective testing libraries.

GitHub ActionsNx Agents
Wall-clock time48:1512:34
VM minutes110:0983:25
Cost per run$0.661$0.461

Wall-clock time dropped 74%. Cost per run fell 30%. VM minutes used fell 24%. And the pipeline configuration is a lot easier to understand.

Nx Agents vs GitHub Actions benchmark

What we changed

The first improvement is resource class resizing. We adjusted RAM allowances to bring our users to a modern standard - more RAM available per agent, used more efficiently. This brought Nx Agents to a more competitive baseline before any orchestration advantage even kicks in.

The second is Continuous Assignment. Previously, agents would be assigned work in batches according to their allowed parallelism. The downside was that each agent would need to wait for all their current tasks to finish before fetching the next batch. This left invisible idle gaps in your pipeline, where your agent had compute capacity, but was stuck waiting for long-tail completions. With Continuous Assignment, agents are fed new tasks as soon as parallelism is available. No waiting, no gaps, no wasted time between batches, and greatly improved wall time.

This builds on something that has always been true of the Nx Agents distribution engine: it knows every task in your pipeline, and packs them dynamically across workers. Standard CI platforms have no visibility into what's actually running, and they can't fill idle gaps because they don't know the gaps exist. Continuous Assignment takes that architectural advantage further, maximizing utilization and minimizing computational downtime.

Why this matters architecturally

Think of it like moving cargo with trucks. Standard CI platforms load each truck with a fixed number of items regardless of size - one gets a couch and a table, another gets a toothbrush. There's no orchestrator. The platform doesn't know what's in the trucks, and drivers sit idle waiting for their current load to be unloaded before getting the next one. These platforms need to make this tradeoff because they don't understand what the workload looks like. Nx does not.

Nx has the orchestrator. It knows every item, loads big things first, splits oversized tasks, and now, with Continuous Assignment, keeps loading trucks the moment they have space. You end up needing far fewer trucks, and the ones you use stay full.

This isn't something you can bolt on top of standard CI. It requires the build tool and the CI platform to share information. That's the architectural bet Nx made, and it's what makes these numbers possible.

Get started

If you're already on Nx Cloud, these improvements are live. If you're not, this is a good time to take a look.

Try Nx Cloud for Free

Download the benchmark report (PDF)