Every runner, every measurement.
89 runners from 9 providers against 11 measurements and their cost per build.
Arch
Size
Rows
Show
Cost per build
RunsOn price
56 machines · 9 providers Filter
Type
Workspace on
Build time against cost per build
One dot per runner, all three builds. The line joins the runners no other runner beats on both. Small dots: RunsOn variants that are not best value. 34 of 56 runners finished all three builds; 20 do not run the Docker build on purpose; the rest are in the table. Timing
Scale
- GitHub
- Avrea
- AWS CodeBuild
- Blacksmith
- Namespace
- RunsOn
- StarSling
- Ubicloud
- Warpbuild
Best value
- RunsOn r8a.2xlarge · tmpfs5m 45s · $0.0405 for all three builds
- RunsOn m8a.2xlarge · EBS gp37m 48s · $0.0386 for all three builds
- RunsOn m8i-flex.xlarge · EBS gp316m 39s · $0.0364 for all three builds
- RunsOn i7i.large · local NVMe22m 32s · $0.0267 for all three builds
top providers in the column faint: bottom providers bold: best machine ↓ lower is better, ↑ higher · hover a cell, or open a runner, for ranks GitHub, the baseline
| workspace · CPU | Builds, wall time Builds, cost per build | CPU | Workspace disk | Net & cache | DB | Queue & price | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| x64 | |||||||||||||
| arm64 | |||||||||||||
| Namespace SaaS · US/Europe · jobs ran from Namespace Labs (US) | SaaS · US/Europe · jobs ran from Namespace Labs (US) | ||||||||||||
| Namespace 8x32 | $0.1500 | 5m 37s | 1m 10s $0.0304 | 30s $0.0156 | 3m 57s $0.1040 | 4,677 | 418k | 79k | 190 | 20s | 12k | plan limit2 at a time | $0.0240overage rate |
| Namespace 8x16 | $0.0754 | 5m 40s | 1m 12s $0.0156 | 31s $0.0076 | 3m 57s $0.0522 | 4,653 | 424k | 78k | 252 | 21s | 12k | plan limit4 at a time | $0.0120overage rate |
| Namespace 4x16 | $0.0966 | 7m 26s | 1m 38s $0.0208 | 47s $0.0108 | 5m 01s $0.0650 | 4,700 | 436k | 79k | 202 | 28s | 8.5k | plan limit4 at a time | $0.0120overage rate |
| Namespace 4x8 | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 1m 38s $0.0104 | 52s $0.0060 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 4,688 | 403k | 78k | 199 | 24s | 8.4k | plan limit8 at a time | $0.0060overage rate |
| Namespace 2x8 | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | 2m 39s $0.0165 | out of memory 8 GB was not enough on this runner for the opencode typecheck, even with turbo limited to 4 tasks: TypeScript processes are killed out of memory (exit 137). 16 GB passes. It has no swap. | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 4,675 | 223k | 78k | 193 | 24s | 4.3k | plan limit8 at a time | $0.0060overage rate |
| RunsOn self-hosted · your AWS account · jobs ran from Amazon.com (US) | self-hosted · your AWS account · jobs ran from Amazon.com (US) | ||||||||||||
| RunsOn r8a.2xlarge | best value, $0.0405 | 5m 45s | 1m 28s $0.0107 $0.0228 | 31s $0.0059 $0.0124 | 3m 46s $0.0239 $0.0484 | 3,818 | 3.7Min RAM | 1.1Min RAM | 251 | 8sworkspace in RAM | 28k | 18sp90 51s | $0.0043on-demand $0.0110 $0.0110spot $0.0043 |
| RunsOn m8a.2xlarge · gp3 1000 MiB/s | $0.0506 | 6m 25s | 1m 26s $0.0122 $0.0216 | 33s $0.0064 $0.0123 | 4m 26s $0.0320 $0.0557 | 3,798 | 16k | 1.7k | 177 | 8stuned gp3, not ranked | 3.8k | 17sp90 21s | $0.0051on-demand $0.0105 $0.0105spot $0.0051 |
| RunsOn m8azn.3xlarge | $0.0905 | 6m 39s | 1m 10s $0.0178 $0.0369 | 37s $0.0126 $0.0298 | 4m 52s $0.0601 $0.1227 | 4,261 | 3.0k | 1.8k | 234 | 10s | 3.2k | 16sp90 19s | $0.0078on-demand $0.0210 $0.0210spot $0.0078 |
| RunsOn m8a.2xlarge · EBS gp3 | best value, $0.0386 | 7m 48s | 1m 27s $0.0069 $0.0168 | 42s $0.0056 $0.0124 | 5m 39s $0.0261 $0.0555 | 3,801 | 3.0k | 1.8k | 300 | 13s | 3.3k | 17sp90 19s | $0.0029on-demand $0.0084 $0.0084spot $0.0029 |
| RunsOn m8id.2xlarge | $0.0457 | 8m 29s | 1m 56s $0.0116 $0.0234 | 44s $0.0052 $0.0124 | 5m 49s $0.0289 $0.0601 | 3,270 | 67k | 11k | 360 | 14slocal NVMe, not ranked | 10k | 18sp90 21s | $0.0028on-demand $0.0090 $0.0090spot $0.0028 |
| RunsOn i7i.2xlarge | $0.0841 | 8m 31s | 1m 57s $0.0142 $0.0327 | 47s $0.0199 $0.0199 | 5m 47s $0.0500 $0.0862 | 3,021 | 165k | 13k | 234 | 11slocal NVMe, not ranked | 9.8k | 22sp90 28s | $0.0055on-demand $0.0129 $0.0129spot $0.0055 |
| RunsOn m8azn.xlarge · gp3 1000 MiB/s | $0.0645 | 9m 21s | 1m 54s $0.0136 $0.0229 | 45s $0.0072 $0.0123 | 6m 42s $0.0437 $0.0762 | 4,257 | 16k | 1.8k | 256 | 10stuned gp3, not ranked | 3.8k | 20sp90 53s | $0.0047on-demand $0.0093 $0.0093spot $0.0047 |
| RunsOn c8a.2xlarge | $0.0745 | 9m 32s | 1m 26s $0.0072 $0.0153 | 47s $0.0052 $0.0116 | 7m 19s $0.0622 $0.0674 | 3,822 | 3.0k | 1.8k | 344 | 18s | 3.5k | 17sp90 19s | $0.0030on-demand $0.0075 $0.0075spot $0.0030 |
| RunsOn m8i.2xlarge | $0.0454 | 10m 10s | 1m 57s $0.0092 $0.0186 | 55s $0.0060 $0.0125 | 7m 18s $0.0302 $0.0631 | 3,260 | 3.0k | 1.6k | 198 | 15s | 3.2k | 17sp90 21s | $0.0033on-demand $0.0074 $0.0074spot $0.0033 |
| RunsOn m8i-flex.2xlarge | $0.0506 | 10m 26s | 1m 59s $0.0101 $0.0190 | 58s $0.0066 $0.0124 | 7m 29s $0.0339 $0.0600 | 3,273 | 3.0k | 1.7k | 252 | 15s | 3.1k | 17sp90 20s | $0.0027on-demand $0.0070 $0.0070spot $0.0027 |
| RunsOn m8azn.xlarge · EBS gp3 | $0.0462 | 11m 02s | 1m 53s $0.0079 $0.0181 | 56s $0.0052 $0.0122 | 8m 13s $0.0332 $0.0702 | 4,273 | 3.0k | 1.8k | 308 | 17s | 3.3k | 18sp90 49s | $0.0026on-demand $0.0072 $0.0072spot $0.0026 |
| RunsOn m8a.xlarge | $0.0538 | 12m 05s | 1m 59s $0.0050 $0.0118 | 1m 01s $0.0031 $0.0073 | 9m 05s $0.0457 $0.0469 | 3,809 | 3.0k | 1.8k | 321 | 18s | 3.3k | 17sp90 21s | $0.0015on-demand $0.0044 $0.0044spot $0.0015 |
| RunsOn i7i.xlarge | $0.0735 | 12m 57s | 3m 06s $0.0077 $0.0262 | 1m 17s $0.0041 $0.0125 | 8m 34s $0.0618 $0.0618 | 2,848 | 82k | 12k | 287 | 13slocal NVMe, not ranked | 6.6k | 19sp90 23s | $0.0019on-demand $0.0066 $0.0066spot $0.0019 |
| RunsOn m8id.xlarge | $0.0593 | 13m 35s | 2m 57s $0.0071 $0.0169 | 1m 20s $0.0037 $0.0092 | 9m 18s $0.0485 $0.0485 | 3,269 | 34k | 11k | 195 | 32slocal NVMe, not ranked | 7.2k | 21sp90 25s | $0.0017on-demand $0.0047 $0.0047spot $0.0017 |
| RunsOn r8a.large | $0.0464 | 16m 05s | 3m 06s $0.0040 $0.0113 | 1m 41s $0.0026 $0.0070 | 11m 18s $0.0397 $0.0397 | 3,808 | 3.0k | 1.8k | 178 | 19s | 3.2k | 18sp90 25s | $0.0010on-demand $0.0030 $0.0030spot $0.0010 |
| RunsOn m8i.xlarge | $0.0375 | 16m 38s | 2m 59s $0.0068 $0.0139 | 1m 29s $0.0040 $0.0084 | 12m 10s $0.0267 $0.0538 | 3,256 | 3.0k | 1.6k | 285 | 19s | 3.1k | 17sp90 20s | $0.0017on-demand $0.0038 $0.0038spot $0.0017 |
| RunsOn m8i-flex.xlarge | best value, $0.0364 | 16m 39s | 2m 56s $0.0065 $0.0131 | 1m 28s $0.0042 $0.0084 | 12m 15s $0.0257 $0.0512 | 3,273 | 3.0k | 1.6k | 243 | 19s | 3.1k | 17sp90 20s | $0.0017on-demand $0.0037 $0.0037spot $0.0017 |
| RunsOn i7i.large | best value, $0.0267 | 22m 32s | 5m 18s $0.0065 $0.0208 | 2m 23s $0.0033 $0.0106 | 14m 51s $0.0169 $0.0541 | 3,198 | 41k | 12k | 173 | 21slocal NVMe, not ranked | 3.8k | 20sp90 23s | $0.0011on-demand $0.0035 $0.0035spot $0.0011 |
| RunsOn m8a.2xlarge · tmpfs | –: needs all three builds; Docker: not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM | –: needs all three builds; Docker: not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM | 1m 29s $0.0075 $0.0174 | 30s $0.0041 $0.0095 | n/a : Not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM; PostHog's layers plus the build's own memory exceeded it and the runner was shut down mid-build. The 64 GB tmpfs runner builds it. Not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM; PostHog's layers plus the build's own memory exceeded it and the runner was shut down mid-build. The 64 GB tmpfs runner builds it. | 3,817 | 3.8Min RAM | 1.1Min RAM | 234 | 7sworkspace in RAM | 28k | 17sp90 19s | $0.0029on-demand $0.0084 $0.0084spot $0.0029 |
| RunsOn c8a.xlarge | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 2m 05s $0.0044 $0.0105 | 1m 03s $0.0030 $0.0076 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 3,792 | 3.0k | 1.7k | 268 | 24s | 3.1k | 18sp90 51s | $0.0016on-demand $0.0039 $0.0039spot $0.0016 |
| RunsOn r8a.xlarge | –: needs all three builds; Docker: not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM | –: needs all three builds; Docker: not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM | 2m 06s $0.0065 $0.0147 | 48s $0.0036 $0.0080 | n/a : Not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM; PostHog's layers plus the build's own memory exceeded it and the runner was shut down mid-build. The 64 GB tmpfs runner builds it. Not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM; PostHog's layers plus the build's own memory exceeded it and the runner was shut down mid-build. The 64 GB tmpfs runner builds it. | 3,799 | 3.7Min RAM | 1.1Min RAM | 330 | 8sworkspace in RAM | 20k | 17sp90 22s | $0.0021on-demand $0.0056 $0.0056spot $0.0021 |
| RunsOn m8azn.large | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 2m 51s $0.0047 $0.0131 | 1m 45s $0.0034 $0.0098 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 4,252 | 3.0k | 1.8k | 249 | 25s | 3.1k | 16sp90 19s | $0.0011on-demand $0.0037 $0.0037spot $0.0011 |
| RunsOn m8a.large | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 3m 12s $0.0088 $0.0088 | 1m 37s $0.0026 $0.0056 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 3,794 | 3.0k | 1.7k | 254 | 25s | 3.0k | 18sp90 47s | $0.0009on-demand $0.0023 $0.0023spot $0.0009 |
| RunsOn c8a.large | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | 3m 39s $0.0039 $0.0086 | out of memory 4 GB was not enough on this runner for the opencode typecheck, even with turbo limited to 4 tasks: TypeScript processes are killed out of memory (exit 137). 16 GB passes. It has 3.7 GiB of swap (zram). | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 3,812 | 3.0k | 1.8k | 193 | 31s | 2.8k | 17sp90 20s | $0.0009on-demand $0.0021 $0.0021spot $0.0009 |
| RunsOn m8id.large | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 5m 02s $0.0139 $0.0141 | 3m 07s $0.0039 $0.0094 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 3,238 | 17k | 11k | 274 | 1m 11slocal NVMe, not ranked | 3.2k | 21sp90 24s | $0.0009on-demand $0.0025 $0.0025spot $0.0009 |
| RunsOn m8i.large | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 5m 12s $0.0066 $0.0123 | 2m 43s $0.0035 $0.0073 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 3,241 | 3.0k | 1.7k | 240 | 27s | 2.4k | 20sp90 55s | $0.0009on-demand $0.0021 $0.0021spot $0.0009 |
| RunsOn m8i-flex.large | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 5m 18s $0.0060 $0.0118 | 2m 36s $0.0053 $0.0068 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 3,248 | 3.0k | 1.7k | 290 | 28s | 2.4k | 17sp90 20s | $0.0010on-demand $0.0020 $0.0020spot $0.0010 |
| RunsOn t8i.medium | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | 5m 34s $0.0046 $0.0070 | out of memory 4 GB was not enough on this runner for the opencode typecheck, even with turbo limited to 4 tasks: TypeScript processes are killed out of memory (exit 137). 16 GB passes. It has 3.7 GiB of swap (zram). | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 3,246 | 3.0k | 1.8k | 270 | 36s | 2.3k | 18sp90 22s | $0.0007on-demand $0.0011 $0.0011spot $0.0007 |
| Blacksmith SaaS · bare metal in Phoenix, AZ · jobs ran from Secured Servers (US) | SaaS · bare metal in Phoenix, AZ · jobs ran from Secured Servers (US) | ||||||||||||
| Blacksmith 8 vCPU | $0.1067 | 5m 51s | 1m 21s $0.0245 | 32s $0.0117 | 3m 58s $0.0704 | 3,893 | 200k | 69k | 78 | 16s | 16k | 10sp90 12s | $0.0160 |
| Blacksmith 4 vCPU | $0.0728 | 8m 12s | 1m 59s $0.0175 | 54s $0.0089 | 5m 19s $0.0464 | 4,236 | 252k | 85k | 107 | 14s | 12k | 11sp90 13s | $0.0080 |
| Blacksmith 2 vCPU | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 3m 21s $0.0141 | 1m 44s $0.0078 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 3,861 | 136k | 62k | 103 | 13s | 5.5k | 10sp90 12s | $0.0040 |
| StarSling SaaS · Latitude.sh / AWS · jobs ran from Latitude.sh (US) and Amazon.com (US) | SaaS · Latitude.sh / AWS · jobs ran from Latitude.sh (US) and Amazon.com (US) | ||||||||||||
| StarSling 8 vCPU | $0.1120 | 6m 17s | 1m 18s $0.0232 | 37s $0.0125 | 4m 22s $0.0763 | 4,010 | 11k | 52k | 120 | 57s | 8.1k | 13sp90 17s | $0.0160 |
| StarSling 4 vCPU | $0.0733 | 8m 25s | 1m 51s $0.0159 | 53s $0.0085 | 5m 41s $0.0489 | 3,902 | 12k | 53k | 111 | 1m 29s | 6.8k | 11sp90 12s | $0.0080 |
| Warpbuild SaaS · WarpBuild / AWS / MacStadium · jobs ran from WarpBuild (US) and Amazon.com (US) | SaaS · WarpBuild / AWS / MacStadium · jobs ran from WarpBuild (US) and Amazon.com (US) | ||||||||||||
| Warpbuild 8 vCPU | $0.1245 | 7m 08s | 1m 34s $0.0285 | 42s $0.0133 | 4m 52s $0.0827 | 4,189 | 45k | 20k | 184 | 51sWarpBuilds 1m 20s | 4.2k | 12sp90 20s | $0.0160 |
| Warpbuild 4 vCPU | $0.0964 | 11m 24s | 2m 20s $0.0195 | 1m 29s $0.0129 | 7m 35s $0.0640 | 4,318 | 41k | 22k | 151 | 50sWarpBuilds 1m 08s | 2.7k | 13sp90 14s | $0.0080 |
| Warpbuild 2 vCPU | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 3m 47s $0.0156 | 2m 52s $0.0122 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 4,144 | 72k | 26k | 165 | 55sWarpBuilds 2m 09s | 1.6k | 12sp90 14s | $0.0040 |
| Ubicloud SaaS · Hetzner / Leaseweb (Germany) · jobs ran from Hetzner Online (DE) and Leaseweb Deutschland (DE) | SaaS · Hetzner / Leaseweb (Germany) · jobs ran from Hetzner Online (DE) and Leaseweb Deutschland (DE) | ||||||||||||
| Ubicloud premium 8 vCPU | $0.0841 | 9m 35s | 1m 41s $0.0148 | 45s $0.0079 | 7m 09s $0.0615 | 3,517 | 20k | 9.7k | 61 | 1m 09s | 2.6k | 16sp90 19s | $0.0080 |
| Ubicloud standard 8 vCPU | $0.0580 | 10m 26s | 2m 00s $0.0112 | 1m 10s $0.0076 | 7m 16s $0.0393 | 2,815 | 12k | 8.4k | 17 | 1m 08s | 2.4k | 20sp90 23s | $0.0050 |
| Ubicloud premium 4 vCPU | $0.0636 | 14m 49s | 2m 38s $0.0114 | 1m 36s $0.0075 | 10m 35s $0.0447 | 3,202 | 16k | 8.3k | 54 | 1m 08s | 1.9k | 19sp90 23s | $0.0040 |
| Ubicloud standard 4 vCPU | $0.0434 | 16m 18s | 3m 25s $0.0091 | 1m 29s $0.0043 | 11m 24s $0.0300 | 2,908 | 8.3k | 3.8k | 63 | 1m 10s | 713 | 21sp90 25s | $0.0025 |
| Ubicloud standard 2 vCPU | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 3m 58s $0.0052 | 2m 57s $0.0041 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 2,917 | 46k | 6.8k | 50 | 1m 13s | 1.4k | 19sp90 24s | $0.0013 |
| Ubicloud premium 2 vCPU | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 4m 33s $0.0096 | 2m 28s $0.0056 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 3,396 | 65k | 6.0k | 33 | 1m 17s | 1.6k | 18sp90 22s | $0.0020 |
| GitHub GitHub-hosted · Azure · jobs ran from Microsoft (US, CA, MX, CL) | GitHub-hosted · Azure · jobs ran from Microsoft (US, CA, MX, CL) | ||||||||||||
| GitHub 8-core | $0.2904 | 11m 22s | 1m 59s $0.0462 | 1m 01s $0.0293 | 8m 22s $0.2149 | 2,853 | 19k | 8.0k | 120 | 33s | 5.5k | 1m 20sp90 1m 33s | $0.0220 |
| GitHub 4-core | $0.2498 | 18m 27s | 3m 47s $0.0466 | 1m 56s $0.0268 | 12m 44s $0.1764 | 2,370 | 12k | 6.8k | 91 | 41s | 2.8k | 4sp90 5s | $0.0120 |
| GitHub 2-core | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 6m 38s $0.0408 | 3m 49s $0.0247 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 2,311 | 8.7k | 6.5k | 105 | 59s | 1.4k | 4sp90 5s | $0.0060 |
| AWS CodeBuild self-hosted · your AWS account · jobs ran from Amazon.com (US) | self-hosted · your AWS account · jobs ran from Amazon.com (US) | ||||||||||||
| AWS CodeBuild large | $0.3867 | 17m 57s | 3m 00s $0.0642 | 1m 17s $0.0370 | 13m 41s $0.2855 | 2,039 | 3.0k | 1.8k | 205 | 40s | n/a | 21sp90 23s | $0.0200 |
| AWS CodeBuild medium | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | 4m 42s $0.0500 | out of memory 8 GB was not enough on this runner for the opencode typecheck, even with turbo limited to 4 tasks: TypeScript processes are killed out of memory (exit 137). 16 GB passes. It has no swap. | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 2,030 | 3.0k | 1.7k | 182 | 43s | n/a | 21sp90 1m 21s | $0.0100 |
| AWS CodeBuild small | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | 8m 19s $0.0430 | out of memory 3 GB was not enough on this runner for the opencode typecheck, even with turbo limited to 4 tasks: TypeScript processes are killed out of memory (exit 137). 16 GB passes. It has no swap. | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 1,973 | 3.0k | 1.8k | 208 | 58s | n/a | 21sp90 23s | $0.0050 |
| Avrea SaaS · Dedicated hardware · jobs ran from OVH (FR) | SaaS · Dedicated hardware · jobs ran from OVH (FR) | ||||||||||||
| Avrea 8 vCPU | –: needs all three builds; TypeScript: failed | –: needs all three builds; TypeScript: failed | 1m 34s $0.0280 | failed bun install fails on Avrea every time: bun's download of the drizzle-orm registry manifest arrives cut short ("PackageFailedToParse"), on three attempts from an empty cache, while curl on the same runner fetches it complete. The typecheck never starts. | 4m 47s $0.0816 | 4,274 | 139k | 43k | 159 | 15s | 6.6k | plan limit12 at a time | $0.0160 |
| Avrea 4 vCPU | –: needs all three builds; TypeScript: failed | –: needs all three builds; TypeScript: failed | 2m 15s $0.0192 | failed bun install fails on Avrea every time: bun's download of the drizzle-orm registry manifest arrives cut short ("PackageFailedToParse"), on three attempts from an empty cache, while curl on the same runner fetches it complete. The typecheck never starts. | 7m 22s $0.0628 | 4,031 | 173k | 48k | 148 | 20s | 5.0k | 12sp90 1m 33s | $0.0080 |
| Avrea 2 vCPU | –: needs all three builds; TypeScript: failed; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; TypeScript: failed; Docker: not run: needs more than 8 GB of memory | 3m 59s $0.0166 | failed bun install fails on Avrea every time: bun's download of the drizzle-orm registry manifest arrives cut short ("PackageFailedToParse"), on three attempts from an empty cache, while curl on the same runner fetches it complete. The typecheck never starts. | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 4,189 | 133k | 46k | 148 | 19s | 2.5k | 11sp90 15s | $0.0040 |
| Namespace arm64 SaaS · US/Europe · jobs ran from Namespace Labs (US) | SaaS · US/Europe · jobs ran from Namespace Labs (US) | ||||||||||||
| Namespace Apple silicon | $0.5782 | 6m 27s | 1m 20s $0.1190 | 38s $0.0630 | 4m 29s $0.3962 | 4,718 | 16k | 20k | 183 | 21s | 5.6k | plan limit4 at a time | $0.0840overage rate |
| Namespace 8x32 | $0.3864 | 14m 43s | 3m 34s $0.0900 | 1m 28s $0.0416 | 9m 41s $0.2548 | 1,188 | 33k | 16k | 114 | 36s | 2.5k | plan limit2 at a time | $0.0240overage rate |
| Namespace 8x16 | $0.1970 | 15m 06s | 3m 34s $0.0446 | 1m 29s $0.0212 | 10m 03s $0.1312 | 1,182 | 62k | 17k | 114 | 36s | 2.5k | plan limit4 at a time | $0.0120overage rate |
| Namespace 4x16 | $0.2690 | 21m 05s | 5m 15s $0.0650 | 2m 32s $0.0332 | 13m 18s $0.1708 | 1,181 | 40k | 17k | 127 | 35s | 1.6k | plan limit4 at a time | $0.0120overage rate |
| Namespace 4x8 | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | 5m 20s $0.0329 | out of memory 8 GB was not enough on this runner for the opencode typecheck, even with turbo limited to 4 tasks: TypeScript processes are killed out of memory (exit 137). 16 GB passes. It has no swap. | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 1,174 | 30k | 17k | 121 | 34s | 1.5k | plan limit8 at a time | $0.0060overage rate |
| Namespace 2x8 | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | 8m 57s $0.0548 | out of memory 8 GB was not enough on this runner for the opencode typecheck, even with turbo limited to 4 tasks: TypeScript processes are killed out of memory (exit 137). 16 GB passes. It has no swap. | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 1,179 | 24k | 16k | 130 | 46s | 659 | plan limit8 at a time | $0.0060overage rate |
| RunsOn arm64 self-hosted · your AWS account · jobs ran from Amazon.com (US) | self-hosted · your AWS account · jobs ran from Amazon.com (US) | ||||||||||||
| RunsOn m9gd.2xlarge | $0.0760 | 6m 33s | 1m 30s $0.0188 $0.0188 | 30s $0.0094 $0.0095 | 4m 33s $0.0477 $0.0477 | 2,463 | 87k | 15k | 327 | 11slocal NVMe, not ranked | 14k | 19sp90 22s | $0.0028on-demand $0.0087 $0.0087spot $0.0028 |
| RunsOn m9g.2xlarge · EBS gp3 | $0.0409 | 8m 04s | 1m 28s $0.0079 $0.0143 | 42s $0.0058 $0.0104 | 5m 54s $0.0272 $0.0482 | 2,464 | 3.0k | 1.7k | 305 | 13s | 3.3k | 17sp90 19s | $0.0036on-demand $0.0068 $0.0068spot $0.0036 |
| RunsOn m9gd.xlarge | $0.0515 | 9m 17s | 2m 04s $0.0118 $0.0118 | 50s $0.0070 $0.0070 | 6m 23s $0.0327 $0.0327 | 2,463 | 44k | 13k | 315 | 23slocal NVMe, not ranked | 8.3k | 21sp90 25s | $0.0014on-demand $0.0045 $0.0045spot $0.0014 |
| RunsOn c8g.2xlarge | $0.0456 | 11m 07s | 1m 54s $0.0083 $0.0145 | 53s $0.0053 $0.0092 | 8m 20s $0.0320 $0.0570 | 1,943 | 3.0k | 1.8k | 247 | 19s | 3.2k | 17sp90 21s | $0.0027on-demand $0.0056 $0.0056spot $0.0027 |
| RunsOn m9g.xlarge · EBS gp3 | $0.0510 | 12m 12s | 2m 02s $0.0091 $0.0091 | 1m 00s $0.0061 $0.0061 | 9m 10s $0.0358 $0.0387 | 2,463 | 3.0k | 1.8k | 287 | 18s | 3.2k | 18sp90 23s | $0.0018on-demand $0.0036 $0.0036spot $0.0018 |
| RunsOn m9g.2xlarge · tmpfs | –: needs all three builds; Docker: not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM | –: needs all three builds; Docker: not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM | 1m 31s $0.0084 $0.0142 | 29s $0.0043 $0.0079 | n/a : Not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM; PostHog's layers plus the build's own memory exceeded it and the runner was shut down mid-build. The 64 GB tmpfs runner builds it. Not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM; PostHog's layers plus the build's own memory exceeded it and the runner was shut down mid-build. The 64 GB tmpfs runner builds it. | 2,465 | 2.4Min RAM | 626kin RAM | 214 | 8sworkspace in RAM | 17k | 19sp90 45s | $0.0036on-demand $0.0068 $0.0068spot $0.0036 |
| RunsOn m9g.xlarge · tmpfs | –: needs all three builds; Docker: not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM | –: needs all three builds; Docker: not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM | 2m 04s $0.0091 $0.0093 | 46s $0.0049 $0.0049 | n/a : Not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM; PostHog's layers plus the build's own memory exceeded it and the runner was shut down mid-build. The 64 GB tmpfs runner builds it. Not run: needs more than 32 GB of RAM with tmpfs, where Docker's data root lives in RAM; PostHog's layers plus the build's own memory exceeded it and the runner was shut down mid-build. The 64 GB tmpfs runner builds it. | 2,464 | 2.5Min RAM | 675kin RAM | 254 | 8sworkspace in RAM | 9.9k | 17sp90 20s | $0.0018on-demand $0.0036 $0.0036spot $0.0018 |
| RunsOn c8g.xlarge | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 2m 43s $0.0057 $0.0099 | 1m 20s $0.0038 $0.0065 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 1,940 | 3.0k | 1.7k | 240 | 22s | 2.5k | 18sp90 50s | $0.0013on-demand $0.0030 $0.0030spot $0.0013 |
| RunsOn m9gd.large | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 3m 09s $0.0092 $0.0092 | 1m 40s $0.0052 $0.0052 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 2,468 | 22k | 14k | 169 | 53slocal NVMe, not ranked | 3.8k | 20sp90 25s | $0.0008on-demand $0.0024 $0.0024spot $0.0008 |
| RunsOn m9g.large | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 3m 13s $0.0075 $0.0075 | 1m 40s $0.0045 $0.0045 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 2,463 | 3.0k | 1.7k | 278 | 29s | 2.5k | 17sp90 18s | $0.0010on-demand $0.0019 $0.0019spot $0.0010 |
| RunsOn c8g.large | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | –: needs all three builds; TypeScript: failed (out of memory); Docker: not run: needs more than 8 GB of memory | 5m 17s $0.0048 $0.0097 | out of memory 4 GB was not enough on this runner for the opencode typecheck, even with turbo limited to 4 tasks: TypeScript processes are killed out of memory (exit 137). 16 GB passes. It has 3.7 GiB of swap (zram). | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 1,942 | 3.0k | 1.8k | 281 | 32s | 2.2k | 17sp90 21s | $0.0008on-demand $0.0016 $0.0016spot $0.0008 |
| Warpbuild arm64 SaaS · WarpBuild / AWS / MacStadium · jobs ran from Amazon.com (US) and MacStadium (US, IE) | SaaS · WarpBuild / AWS / MacStadium · jobs ran from Amazon.com (US) and MacStadium (US, IE) | ||||||||||||
| Warpbuild xfast (Apple M4 Pro) 12 vCPU | $1.39 | 7m 19s | 1m 08s $0.2000 | 31s $0.1067 | 5m 40s $1.09 | 3,204 | 6.0k | 26k | 191 | 23sWarpBuilds 1m 17s | 5.0k | 15sp90 16s | $0.1600 |
| Warpbuild xfast (Apple M4 Pro) 6 vCPU | $0.7520 | 8m 04s | 1m 20s $0.1147 | 37s $0.0587 | 6m 07s $0.5787 | 3,221 | 5.3k | 27k | 182 | 22sWarpBuilds 1m 21s | 9.5k | 14sp90 17s | $0.0800 |
| Warpbuild 8 vCPU | $0.1232 | 9m 11s | 2m 01s $0.0264 | 47s $0.0140 | 6m 23s $0.0828 | 1,941 | 5.0k | 1.8k | 240 | 20sWarpBuilds 1m 11s | 3.4k | 33sp90 37s | $0.0120 |
| Warpbuild 4 vCPU | $0.0948 | 14m 18s | 3m 00s $0.0193 | 1m 11s $0.0091 | 10m 07s $0.0664 | 1,943 | 4.2k | 1.8k | 217 | 26sWarpBuilds 1m 16s | 2.9k | 34sp90 37s | $0.0060 |
| Warpbuild 2 vCPU | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 4m 37s $0.0144 | 3m 24s $0.0120 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 1,941 | 4.2k | 1.8k | 254 | 28sWarpBuilds 1m 26s | 2.2k | 35sp90 38s | $0.0030 |
| Blacksmith arm64 SaaS · bare metal in Phoenix, AZ · jobs ran from Secured Servers (US) | SaaS · bare metal in Phoenix, AZ · jobs ran from Secured Servers (US) | ||||||||||||
| Blacksmith 8 vCPU | $0.1425 | 12m 52s | 3m 18s $0.0355 | 1m 21s $0.0165 | 8m 13s $0.0905 | 1,348 | 28k | 25k | 81 | 35s | 3.2k | 15sp90 27s | $0.0100 |
| Blacksmith 4 vCPU | $0.1053 | 19m 37s | 5m 04s $0.0267 | 2m 21s $0.0132 | 12m 12s $0.0654 | 1,343 | 24k | 25k | 85 | 36s | 1.9k | 15sp90 16s | $0.0050 |
| Blacksmith 2 vCPU | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 7m 43s $0.0200 | 6m 25s $0.0170 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 1,332 | 24k | 23k | 72 | 35s | 934 | 15sp90 19s | $0.0025 |
| GitHub arm64 GitHub-hosted · Azure · jobs ran from Microsoft (US) | GitHub-hosted · Azure · jobs ran from Microsoft (US) | ||||||||||||
| GitHub 4-core | $0.1245 | 14m 15s | 3m 05s $0.0257 | 1m 25s $0.0131 | 9m 45s $0.0857 | 1,876 | 12k | 8.6k | 169 | 36s | 2.8k | 6sp90 8s | $0.0080 |
| GitHub 2-core | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 5m 17s $0.0271 | 3m 01s $0.0170 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 1,878 | 6.4k | 7.1k | 145 | 55s | 1.2k | 6sp90 8s | $0.0050 |
| Ubicloud arm64 SaaS · Hetzner / Leaseweb (Germany) · jobs ran from Leaseweb Deutschland (DE) and Hetzner Online (DE) | SaaS · Hetzner / Leaseweb (Germany) · jobs ran from Leaseweb Deutschland (DE) and Hetzner Online (DE) | ||||||||||||
| Ubicloud standard 8 vCPU | $0.0794 | 14m 45s | 3m 14s $0.0173 | 1m 17s $0.0080 | 10m 14s $0.0541 | 1,310 | 102k | 9.6k | 46 | 59s | 1.3k | 21sp90 25s | $0.0050 |
| Ubicloud standard 4 vCPU | $0.0603 | 22m 55s | 5m 34s $0.0145 | 2m 04s $0.0060 | 15m 17s $0.0399 | 1,306 | 57k | 7.2k | 85 | 1m 09s | 1.2k | 20sp90 24s | $0.0025 |
| Ubicloud standard 2 vCPU | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; Docker: not run: needs more than 8 GB of memory | 8m 42s $0.0112 | 5m 29s $0.0074 | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 1,315 | 79k | 9.3k | 35 | 1m 13s | 1.0k | 9sp90 23s | $0.0013 |
| Avrea arm64 SaaS · Dedicated hardware · jobs ran from Inios Oy (FI) | SaaS · Dedicated hardware · jobs ran from Inios Oy (FI) | ||||||||||||
| Avrea 8 vCPU | –: needs all three builds; TypeScript: failed | –: needs all three builds; TypeScript: failed | 59s $0.0552 | failed bun install fails on Avrea every time: bun's download of the drizzle-orm registry manifest arrives cut short ("PackageFailedToParse"), on three attempts from an empty cache, while curl on the same runner fetches it complete. The typecheck never starts. | 4m 13s $0.2232 | 4,814 | 16k | 18k | 85 | 11s | 5.1k | plan limit12 at a time | $0.0480 |
| Avrea 4 vCPU | –: needs all three builds; TypeScript: failed | –: needs all three builds; TypeScript: failed | 1m 22s $0.0372 | failed bun install fails on Avrea every time: bun's download of the drizzle-orm registry manifest arrives cut short ("PackageFailedToParse"), on three attempts from an empty cache, while curl on the same runner fetches it complete. The typecheck never starts. | 4m 57s $0.1312 | 4,860 | 15k | 18k | 102 | 11s | 7.4k | 22sp90 1m 53s | $0.0240 |
| Avrea 2 vCPU | –: needs all three builds; TypeScript: failed; Docker: not run: needs more than 8 GB of memory | –: needs all three builds; TypeScript: failed; Docker: not run: needs more than 8 GB of memory | 1m 58s $0.0258 | failed bun install fails on Avrea every time: bun's download of the drizzle-orm registry manifest arrives cut short ("PackageFailedToParse"), on three attempts from an empty cache, while curl on the same runner fetches it complete. The typecheck never starts. | n/a : Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 5,000 | 14k | 18k | 93 | 12s | 4.7k | 23sp90 28s | $0.0120 |
| No runner matches these filters. | |||||||||||||
Notes on the tablequeue, cost, spot, shapes, cell states
- Queue, burst: 15 identical jobs per runner, queued at the same instant; median wait, p90 below.
- It shows how fast a provider absorbs a spike; the concurrency limits of this account's plan are part of it.
- Cost per build: job duration × list price per minute, seconds as they ran, never rounded up to a billing increment.
- Cost for all builds: the first column adds up the three builds' costs, for runners that finished all three. The “Cost per build” pill picks one build instead (“Cost per Rust build”).
- It is shaded in five steps by cost rank among the runners shown with 3+ runs, green the cheapest fifth, red the most expensive.
- Time for all builds: the Rust, TypeScript and Docker build times added up, for runners that finished all three; the table's default order, fastest first. A runner missing a build shows –, the reason in its title, and follows those, ordered by its Rust build.
- It is ranked and shaded like a build column, on the fewest runs of its three builds.
- Workspace disk: 4k random writes at queue depth 32 and 4k reads at queue depth 1. Random reads, sequential reads and synced writes are on the disk page.
- “in RAM”: a tmpfs runner's workspace is RAM, not a disk, so its disk results are shown but not ranked or shaded, as on the disk page. Its builds are ranked.
- Best value: no runner shown is both faster and cheaper on that build. The chart draws these runners as a line, on linear or log axes (Scale).
- Timing: the chart's time axis is the build steps, the whole job, or the job plus its wait (each run's shortest queue, median across runs). A wait capped by a plan is not ranked.
- “Show: cost” ranks, shades and sorts the build columns by cost instead of wall time.
- “RunsOn price: On-demand” ranks, shades and sorts RunsOn's costs at EC2 on-demand; every other provider has one list price.
- RunsOn rows use EC2 spot prices, RunsOn's default; on-demand (OD) sits on the price column's second line and in each build cell's title.
- Shading: top 2 of 9 on x64, top 1 of 7 on arm64 per column are tinted, the same number at the bottom faint; bold is the best machine. A result needs 3 runs (distinct workflow runs) for a shade or a rank.
- Every size races: a provider rank counts each provider once, by its best variant at any size. The Size filter ranks and shades within one size; 8 to 12 vCPU count as one size.
- “workspace in RAM”: a tmpfs runner's cache restore is shown but not ranked, since RAM speeds up save and restore. Its builds are ranked.
- “tuned gp3, not ranked”, “local NVMe, not ranked”: RunsOn's cache restore is ranked on its default volume (gp3, 400 MiB/s); a provisioned volume or local NVMe is shown but not ranked. Their builds are ranked.
- Shapes are vCPU and memory as configured, underlined dotted when the job saw other CPUs or memory.
- failed links to the failed job · pending job not finished at fetch time · – not part of that suite (in the two summary columns: a build is missing, the reason in its title) · n/a step did not report, or with a : not run on purpose (the ? says why)