Back to all blogs

Avrea is the fastest GitHub Actions runner in RunsOn's benchmark

Avrea is the fastest GitHub Actions runner in RunsOn's benchmark

In RunsOn's four-vCPU x64 benchmark, Avrea completed the Rust, TypeScript and Docker workloads in 6m58s. GitHub took 18m18s, so Avrea was 163% faster across the three builds.

03 November 2026

A lot of work went into those six minutes and fifty-eight seconds, and we're proud of our team that made it happen.

Avrea runs your GitHub Actions jobs in virtual machines on dedicated hardware. Package and build caches sit alongside the runners, and your workflows stay in GitHub Actions.

The full benchmark results

RunsOn tests three public projects with build caching turned off: a PostHog Docker build, opencode's TypeScript checks and spotify-player's Rust tests. The ranking adds the median build times for all three.

The table shows each provider's fastest complete configuration in the four-vCPU x64 category.

4 vCPU · x64 · 9 providersView all configurations on RunsOn ↗
RunnerWorkspace · CPU Cost for
all buildsUSD ↓
Time for
all builds↓ Lower is faster
Builds, wall time CPU Workspace disk Net & cache DB Queue & price
Rust↓ TypeScript↓ Docker↓ 1 threadPassMark ↑ Rand writeIOPS ↑ QD1 readIOPS ↑ GitHub DLMiB/s ↑ Cache restore4 GB ↓ pgbenchTPS ↑ QueueBurst ↓ PriceUSD/min ↓
AvreaDedicated hardware · OVH (FR)
4 vCPU4 vCPU · 16 GB · VM disk
EPYC 4585PX
$0.06256m 58s1m 26s$0.012740s$0.00704m 52s$0.04284,568172k50k16711s9.3k11sp90 10m 10s$0.0080
NamespaceNamespace Labs (US)
4x164 vCPU · 16 GB · VM disk
EPYC · model hidden
$0.09047m 01s1m 31s$0.019450s$0.01224m 40s$0.05884,627560k105k21918s13k10sp90 7m 00s$0.0120*
RunsOnEC2 spot rates; on-demand rate shown as OD
r8a.xlarge4 vCPU · 32 GB · tmpfs
EPYC 9R45
$0.01827m 38s1m 51s$0.004350s$0.00254m 57s$0.01153,8253.8M1.1M1885s21k16sp90 19s$0.0019OD $0.0056
StarSlingLatitude.sh / AWS · US
4 vCPU4 vCPU · 16 GB · VM disk
Xeon · model hidden +3
$0.06837m 50s1m 32s$0.013147s$0.00785m 31s$0.04753,29668k30k18021s11k9sp90 13m 50s$0.0080
BlacksmithBare metal · Phoenix, AZ
4 vCPU4 vCPU · 16 GB · VM disk
EPYC · model hidden
$0.07478m 06s1m 40s$0.01481m 25s$0.01635m 01s$0.04364,297218k71k8312s13k10sp90 13s$0.0080
WarpbuildWarpBuild / AWS / MacStadium · US
4 vCPU4 vCPU · 16 GB · VM disk
Ryzen 9 9950X +2
$0.090810m 43s2m 09s$0.01801m 07s$0.01087m 27s$0.06204,28671k30k11324s3.2k21sp90 13m 29s$0.0080
UbicloudHetzner / Leaseweb · Germany
standard 4 vCPU4 vCPU · 16 GB · VM disk
EPYC 9454P +3
$0.039814m 31s2m 19s$0.00641m 35s$0.004710m 37s$0.02882,89727k9.0k461m 10s2.0k40sp90 19m 44s$0.0025
GitHubAzure · US, CA, MX
4-core4 vCPU · 16 GB · network disk
EPYC 7763 +5
$0.261218m 18s3m 33s$0.04461m 52s$0.029012m 53s$0.18763,39810k7.2k10044s5.0k3sp90 5s$0.0120
AWS CodeBuildThe TypeScript test failed; the Docker workload was not run.
medium4 vCPU · 8 GB · EBS
Xeon 8488C +1
Not availableNot available3m 32s$0.0380Out of memoryNot run3,0043.0k1.8k23336sNot measured21sp90 16m 12s$0.0100

Source: RunsOn's runner benchmark, with x64, 4 vCPU and Time selected. AWS CodeBuild has no complete result.

Build costs appear below each workload's time. RunsOn calculates them from full job duration and the applicable per-minute rate. Its own rows use EC2 spot rates; OD is the on-demand rate. *Namespace uses its overage rate. Queue results show the median, with p90 below.

RunsOn publishes the methodology, benchmark code and job logs, so you can inspect how each workload was run.

RunsOn estimates a total cost of $0.0625 on Avrea and $0.2612 on GitHub for the three builds. Avrea is 76% cheaper in this test. Avrea charges $0.008 a minute for this runner and GitHub $0.012.

Eight minutes off a production Docker build

The PostHog Docker workload took 4m52s on Avrea and 12m53s on GitHub.

The job builds PostHog's frontend and plugin server, installs Python dependencies and assembles the production image. RunsOn uses a fixed revision of PostHog's Dockerfile and disables the Docker build cache, so every layer is built on each run.

Most of the difference came from building the image: 4m25s on Avrea and 12m22s on GitHub. The full workload also includes fetching the source and setting up Buildx. The Avrea and GitHub profiles publish the timings for each phase.

Faster TypeScript and Rust builds

The TypeScript workload runs against opencode. It clones the repository, installs dependencies with Bun and runs the monorepo's typechecks.

Avrea ran the workload 2.8 times as fast as GitHub, 40 seconds against 1m52s.

Turborepo's local and remote task caches are switched off, so each package is typechecked on every run. Concurrency is set to four for all providers.

For Rust, RunsOn uses spotify-player, a terminal Spotify client. The job installs system dependencies and the Rust toolchain, checks formatting, runs tests and runs Clippy. The benchmark uses no build cache, so every crate is compiled from scratch.

Avrea finished the job in 1m26s and GitHub in 3m33s.

Your own builds can use the caches

For a Turborepo project, the runner environment is already configured for the remote cache, so tasks whose inputs haven't changed are restored instead of run again.

Rust, C and C++ builds can use sccache. The backend is already configured on Avrea runners: install sccache and set RUSTC_WRAPPER: sccache, and crates that haven't changed come from the cache instead of being compiled again.

Dependency downloads use a separate cache. Avrea's colocated package cache supports npm, pnpm, Yarn Classic and Bun. Those package managers are preconfigured on Avrea runners to fetch previously cached packages from storage beside the machines running your jobs.

Run your next build on Avrea

Sign up for Avrea, install the GitHub App for your repository, and make a copy of a build or test workflow. Then change its runner label to the Avrea runner size that fits the workflow. The label for the four-vCPU x64 runner tested here is:

runs-on: avrea-ubuntu-latest-4-vcpu

Compare both workflows on the same commit, then run the Avrea workflow again to see whether caching shortens the build. The free tier covers 3,000 minutes a month on the two-vCPU runner.