GitHub Actions runners with the best internet performance
Ubicloud Linux x64 leads the measured results at 1,104.1 Mbps. 26 of 26 configurations have a score. This ranks the imported tests, not full workflow runtime.
Package downloads, container layers, and remote uploads can dominate a job even when its CPU is fast. This ranking compares the recorded internet transfer speeds in our runner tests. It combines available download and upload measurements into a fixed Mbps score and includes every tested platform. Leaders and coverage counts come from the current dataset rather than a manually written list.
By TechCompare · Updated
Current leaders
Results imported 2026-10-10. Pricing checked 2026-10-10. Higher is better. All operating systems and architectures are included. Prices and value use USD. RunJob's EUR rate is converted at €1 = $1.1206 (ECB, 2026-10-09).
Calculator
Ranked runner results
| RunnerRunner | InternetInternet score | Cost/vCPU/minCost/vCPU/minUSD | Max vCPUMax runner vCPU |
|---|---|---|---|
| Ubicloud Linux x64 AMD Ryzen 9 7950X3D 16-Core | 1,104.1 | 0.001 | 30 |
| Avrea Linux x64 AMD EPYC 4585PX 16-Core | 921.7 | 0.002 | 32 |
| Avrea Windows x64 AMD EPYC 4585PX 16-Core | 823 | 0.004 | 16 |
| Blacksmith Linux x64 AMD EPYC (model hidden) | 741.9 | 0.002 | 32 |
| Blacksmith Windows x64 AMD EPYC 4565P 16-Core | 731.2 | 0.004 | 32 |
| Ubicloud Linux arm64 Ampere Altra Q80-30 | 670.4 | 0.0006 | 30 |
| Blacksmith Linux arm64 ARM64 (model undisclosed) | 616.7 | 0.0013 | 32 |
| RunJob Linux x64 AMD EPYC 7502 32-Core | 382.6 | 0.0013 | 48 |
| GitHub macOS arm64 Apple M2 Pro | 273.4 | 0.0207 | 5 |
| GitHub Windows x86 AMD EPYC 7763 64-Core | 262.4 | 0.005 | 96 |
| Blacksmith macOS arm64 Apple M4 Pro | 244.5 | 0.0133 | 12 |
| Latchkey Linux x64 AMD EPYC 7R13 | 214.4 | 0.0013 | 16 |
| GitHub Linux x64 AMD EPYC 9V74 80-Core | 209.9 | 0.003 | 96 |
| Namespace Linux x64 AMD EPYC (model hidden) | 187.3 | 0.0015 | 64 |
| BuildPulse Linux x64 AMD EPYC 9R45 | 159.1 | 0.002 | 64 |
| BuildPulse Linux arm64 AWS Graviton (gen undisclosed) | 155.6 | 0.0013 | 64 |
| Namespace Linux arm64 AmpereOne family (SKU undisclosed) | 143.6 | 0.0015 | 32 |
| GitHub Windows x64 AMD EPYC 7763 64-Core | 134.2 | 0.005 | 96 |
| GitHub Windows arm64 Cobalt 100 | 120.8 | 0.005 | 64 |
| GitHub Linux x86 AMD EPYC 7763 64-Core | 116.3 | 0.003 | 96 |
| StarSling Linux x64 AMD EPYC (model hidden) | 116.3 | 0.002 | 64 |
| GitHub Linux arm64 Microsoft Cobalt 100 | 102.9 | 0.0025 | 64 |
| Namespace macOS arm64 Apple M4 Pro | 79 | 0.015 | 16 |
| GitHub macOS x64 Intel Core i7-8700B | 76.1 | 0.0155 | 12 |
| Avrea macOS arm64 Apple M5 Max | 21.2 | 0.01 | 16 |
| Avrea Linux arm64 Apple M5 Max | 18.8 | 0.006 | 16 |
Single thread CPU: CoreMark iterations/s. Disk and cache: composite MiB/s. Internet: composite Mbps. Value: score ÷ USD cost/vCPU/min. K means thousand, M means million. Higher is better. Cache uses each runner's best tested cache or artifact backend. Limits: maximum runner vCPU. Prices and value use USD. RunJob's EUR rate is converted at €1 = $1.1206 (ECB, 2026-10-09).
Open the full GitHub Actions runner benchmark toolHow download and upload become one score
When both directions are recorded, the internet score is their geometric mean in Mbps. When only one direction is available, its measured speed is used directly. HTTPS request latency is kept in the report and does not enter the throughput score. This means the ranking summarizes the available evidence, rather than promising equal download and upload coverage for every runner. No score depends on another configuration's result.
Rates from timed transfer records
Protocol 7 measures actual payload bytes and elapsed time through the 60-second deadline, including the final unfinished request. The imported download and upload speeds are the reported median Mbps values. Upload counters track bytes accepted by the client socket. A partial stage can still supply both directions, and the sample counts include timed transfers. Some Cloudflare results have one download sample and three upload samples. Older timeout records use curl bytes divided by the nominal limit and can omit an unfinished request. Their estimates remain identified in the details. Reports with no usable bytes or speed remain unscored.
Match the network test to your job
A workflow that downloads container layers can behave differently from one that sends small API requests or uploads many artifacts. A combined Mbps score does not describe latency, connection reliability, or sustained traffic to every destination. Inspect the available download and upload directions, then time your own remote operations from the candidate runner. Internet value adds normalized compute cost when you need to consider price alongside transfer speed.
Measurement context
The network stage tests the endpoint named in each result, not every package registry or cloud region. Results include Sharktech Amsterdam and Cloudflare, with newer protocol 7 tests alongside older records. Compare matching endpoints, protocols, and transfer limits for a direct network comparison. Routing, endpoint load, connection setup, and test timing can affect a transfer. Some reports include only one usable direction. Those results keep that direction's rate as their score, with sample counts and measurements shown on hover and in the full tool.
Verdict
Use this page to identify runners with strong recorded transfer performance, then check the services your workflow actually reaches. A high internet score is not a guaranteed link rate to every registry. Cache results measure a separate provider or GitHub transfer path.
More runner benchmark scenarios
Frequently asked questions
Which runner currently leads for internet performance?
Do these runner rankings update automatically?
Are all operating systems and architectures included?
Does a missing result mean a runner scored zero?
Related tools
Data Transfer Calculator
Estimate transfer times for files over USB, WiFi, Ethernet, and more.
Use tool ➜Memory and Storage Throughput Visualizer
Visualize the massive speed difference between CPU cache, RAM, and storage.
Use tool ➜RAM Latency Calculator
Convert DDR3/DDR4/DDR5 timings (CL, tRCD, tRP, tRAS) into true latency in nanoseconds.
Use tool ➜