# Avrea Runner Benchmark CoreMark, one execution thread, 2000-byte dataset. Higher iterations/s is better. Linux/Windows require hard affinity to one logical CPU. macOS is explicitly **unpinned**: its one thread may migrate between CPUs. These are runner + compiler measurements; VM host scheduling, other workloads, turbo, and image updates can affect them. ## Benchmark parameters Compare providers using the same parameter fingerprint. Runner selection and provider identity are excluded; measurement protocol is included. | Profile | Protocol | CPU/disk samples | CPU seconds | Disk MiB | Cache MiB | Internet | Transfer MiB | | --- | --- | ---: | ---: | ---: | ---: | --- | ---: | | `e021cd7ddc71` | 6 | 5 | 30 | 1024 | 512 | Enabled | 1024 | ## Pinned results | Runner | Binary | Median iterations/s | Min–max | Variation | CPU / group | Samples | | --- | --- | ---: | ---: | ---: | --- | ---: | | avrea-linux-arm64 | arm64 (64-bit) | 52794.46 | 52231.46–53197.25 | 0.67% | 0 / 0 | 5 | | avrea-linux-x64 | x64 (64-bit) | 43679.80 | 34488.52–44695.08 | 10.63% | 0 / 0 | 5 | | avrea-windows-x64 | x64 (64-bit) | 31647.43 | 29675.16–32555.11 | 3.37% | 0 / 0 | 5 | Variation is the population coefficient of variation across accepted samples. ## Unpinned macOS results | Runner | Binary | Median iterations/s | Min–max | Variation | CPU / group | Samples | | --- | --- | ---: | ---: | ---: | --- | ---: | | avrea-macos-arm64 | arm64 (64-bit) | 52014.47 | 51611.61–54359.61 | 1.88% | Unpinned | 5 | Variation is the population coefficient of variation across accepted samples. ## Disk I/O One worker, queue depth one, 1 MiB sequential I/O, 4 KiB random I/O. OS file-cache bypass is required; write timings include the final flush. Protocol 2 and later repeat each operation for at least 5 seconds against the same file; total transferred bytes can exceed the file size. Medians across fully verified samples. Every requested sample is attempted, including after a 60-second sample timeout. Incomplete results remain visible and are excluded from complete-sample comparisons. | Runner | Affinity | File MiB | Completed / attempted / requested | Status | Read MiB/s | Write MiB/s | Random read IOPS | Random write IOPS | | --- | --- | ---: | --- | --- | ---: | ---: | ---: | ---: | | avrea-linux-arm64 | Pinned | 1024 | 5 / 5 / 5 | ok | 13290.73 | 10419.45 | 35417.22 | 31514.34 | | avrea-linux-x64 | Pinned | 1024 | 5 / 5 / 5 | ok | 7033.59 | 4292.54 | 36934.69 | 32830.18 | | avrea-macos-arm64 | Unpinned | 1024 | 5 / 5 / 5 | ok | 12031.33 | 8167.51 | 31088.45 | 23404.65 | | avrea-windows-x64 | Pinned | 1024 | 5 / 5 / 5 | ok | 4018.87 | 2629.25 | 9578.69 | 8187.02 | ## Cache backends Protocol 2 and later measure three unique-key save/restore pairs per backend. Each trial restores in a separate runner job after the save job completes; reused save OS instances are rejected. Backend order reverses on trial two. Archive services use zstd `--single-thread`; attached-volume transfers use one thread without compression. Linux/Windows action processes inherit one-CPU affinity; macOS is unpinned. Identical random payload bytes across trials and backends on each runner; an empty local target before restore, exact cache hit, SHA-256 and backend routing checked. Each time includes the action and adjacent step transitions; MiB/s uses logical payload bytes, including compression/extraction for archive services. Profile `e021cd7ddc71` waits 120 seconds after the save job finishes, before allocating its first restore runner. All providers use this publication gap; it is excluded from transfer speeds. It gives cache publication time to settle but does not guarantee cache availability. Misses remain failures; there are no retries or payload fallbacks. ### archive-service | Runner | Cache backend | Payload MiB | Verified pairs | Save s (median; range) | Save MiB/s | Save variation | Restore s (median; range) | Restore MiB/s | Restore variation | | --- | --- | ---: | --- | --- | ---: | --- | --- | ---: | --- | | avrea-linux-arm64 | Avrea cache via actions/cache | 512.0 | 3/3 | 2.56; 2.06–2.68 | 200.10 | 10.92% | 2.10; 1.86–2.41 | 244.01 | 10.49% | | avrea-linux-arm64 | GitHub Actions cache | 512.0 | 3/3 | 103.75; 90.38–138.28 | 4.93 | 18.22% | 310.59; 295.93–315.16 | 1.65 | 2.67% | | avrea-linux-x64 | Avrea cache via actions/cache | 512.0 | 3/3 | 6.67; 6.64–6.76 | 76.82 | 0.74% | 3.65; 3.30–6.33 | 140.37 | 30.61% | | avrea-linux-x64 | GitHub Actions cache | 512.0 | 3/3 | 4.74; 4.46–8.95 | 107.98 | 33.92% | 12.16; 11.49–16.98 | 42.11 | 18.06% | | avrea-macos-arm64 | Avrea cache via actions/cache | 512.0 | 3/3 | 2.07; 1.89–2.34 | 247.21 | 8.90% | 2.00; 1.95–2.13 | 255.46 | 3.70% | | avrea-macos-arm64 | GitHub Actions cache | 512.0 | 3/3 | 118.85; 110.37–121.48 | 4.31 | 4.06% | 197.49; 173.59–205.46 | 2.59 | 7.05% | | avrea-windows-x64 | Avrea cache via actions/cache | 512.0 | 3/3 | 92.55; 81.56–96.01 | 5.53 | 6.84% | 9.11; 9.00–10.14 | 56.20 | 5.47% | | avrea-windows-x64 | GitHub Actions cache | 512.0 | 3/3 | 89.42; 64.63–136.77 | 5.73 | 30.87% | 15.51; 14.73–16.52 | 33.01 | 4.71% | ## Internet One HTTP/1.1 stream at a time, three downloads and three uploads. Each sample transfers the configured payload through sequential requests of at most 32 MiB on one persistent connection. Mbps uses decimal megabits. Zero-byte HTTPS request time includes connection/TLS/DNS overhead and is not ICMP RTT. Compare only results using the same endpoint and payload size. Unavailable tests have no speed score. - **LibreSpeed (Sharktech, Amsterdam)**: https://amsspeed.sharktech.net/backend/ | Runner | Service | Status | Transfer MiB | Download Mbps | Upload Mbps | HTTPS request ms | | --- | --- | --- | ---: | ---: | ---: | ---: | | avrea-linux-arm64 | LibreSpeed (Sharktech, Amsterdam) | unavailable | 1024 | — | — | — | | avrea-linux-x64 | LibreSpeed (Sharktech, Amsterdam) | unavailable | 1024 | — | — | — | | avrea-macos-arm64 | LibreSpeed (Sharktech, Amsterdam) | unavailable | 1024 | — | — | — | | avrea-windows-x64 | LibreSpeed (Sharktech, Amsterdam) | unavailable | 1024 | — | — | — | ## Optional stages and notices - **avrea-linux-arm64 / internet**: HTTPS download sample 1 exceeded 60s; curl reported 167772160 bytes; the test did not complete, so no speed score is reported - **avrea-linux-arm64 / avrea / trial 1 / cleanup**: The provider-managed cache entry is left to provider retention. Automatic native deletion requires a separately authenticated provider cleanup adapter; no deletion of unrelated entries was requested. - **avrea-linux-arm64 / avrea / trial 2 / cleanup**: The provider-managed cache entry is left to provider retention. Automatic native deletion requires a separately authenticated provider cleanup adapter; no deletion of unrelated entries was requested. - **avrea-linux-arm64 / avrea / trial 3 / cleanup**: The provider-managed cache entry is left to provider retention. Automatic native deletion requires a separately authenticated provider cleanup adapter; no deletion of unrelated entries was requested. - **avrea-linux-x64 / internet**: HTTPS download sample 1: HTTPS test failed: curl: (22) The requested URL returned error: 403 - **avrea-linux-x64 / avrea / trial 1 / cleanup**: The provider-managed cache entry is left to provider retention. Automatic native deletion requires a separately authenticated provider cleanup adapter; no deletion of unrelated entries was requested. - **avrea-linux-x64 / avrea / trial 2 / cleanup**: The provider-managed cache entry is left to provider retention. Automatic native deletion requires a separately authenticated provider cleanup adapter; no deletion of unrelated entries was requested. - **avrea-linux-x64 / avrea / trial 3 / cleanup**: The provider-managed cache entry is left to provider retention. Automatic native deletion requires a separately authenticated provider cleanup adapter; no deletion of unrelated entries was requested. - **avrea-macos-arm64 / internet**: HTTPS download sample 1 exceeded 60s; curl reported 0 bytes; the test did not complete, so no speed score is reported - **avrea-macos-arm64 / avrea / trial 1 / cleanup**: The provider-managed cache entry is left to provider retention. Automatic native deletion requires a separately authenticated provider cleanup adapter; no deletion of unrelated entries was requested. - **avrea-macos-arm64 / avrea / trial 2 / cleanup**: The provider-managed cache entry is left to provider retention. Automatic native deletion requires a separately authenticated provider cleanup adapter; no deletion of unrelated entries was requested. - **avrea-macos-arm64 / avrea / trial 3 / cleanup**: The provider-managed cache entry is left to provider retention. Automatic native deletion requires a separately authenticated provider cleanup adapter; no deletion of unrelated entries was requested. - **avrea-windows-x64 / internet**: HTTPS download sample 1: HTTPS test failed: curl: (22) The requested URL returned error: 403 - **avrea-windows-x64 / avrea / trial 1 / cleanup**: The provider-managed cache entry is left to provider retention. Automatic native deletion requires a separately authenticated provider cleanup adapter; no deletion of unrelated entries was requested. - **avrea-windows-x64 / avrea / trial 2 / cleanup**: The provider-managed cache entry is left to provider retention. Automatic native deletion requires a separately authenticated provider cleanup adapter; no deletion of unrelated entries was requested. - **avrea-windows-x64 / avrea / trial 3 / cleanup**: The provider-managed cache entry is left to provider retention. Automatic native deletion requires a separately authenticated provider cleanup adapter; no deletion of unrelated entries was requested. ## Machine and build details | Runner | CPU model | OS image | Compiler | Flags | | --- | --- | --- | --- | --- | | avrea-linux-arm64 | aarch64 | dev | GNU 13.3.0 | -O2 -DNDEBUG; C99; MULTITHREAD=1; TOTAL_DATA_SIZE=2000; ITERATIONS=0 | | avrea-linux-x64 | AMD EPYC 4585PX 16-Core Processor | dev | GNU 13.3.0 | -O2 -DNDEBUG; C99; MULTITHREAD=1; TOTAL_DATA_SIZE=2000; ITERATIONS=0 | | avrea-macos-arm64 | Apple M5 Max (Virtual) | 20261001-172603 | AppleClang 21.0.0.21000101 | -O2 -DNDEBUG; C99; MULTITHREAD=1; TOTAL_DATA_SIZE=2000; ITERATIONS=0 | | avrea-windows-x64 | AMD EPYC 4585PX 16-Core Processor | dev | MSVC 19.44.35229.0 | /DWIN32 /D_WINDOWS /O2 /Ob2 /DNDEBUG; C99; MULTITHREAD=1; TOTAL_DATA_SIZE=2000; ITERATIONS=0 |