RepoFlow Team · Nov 17, 2025

Apple Containers vs Docker Desktop vs OrbStack

A deep performance comparison of Apple’s native container system, Docker Desktop, and OrbStack on macOS.

We started with a simple benchmark that compared Apple’s new Apple Container tool to Docker Desktop on macOS. That first round focused mostly on CPU, memory, and basic container startup time.

After publishing it, we received a lot of feedback asking for more. Developers wanted to see OrbStack in the mix, they wanted native arm64 and emulated amd64 results side by side.

So we went back, expanded the test suite, and reran everything in a more complete setup that covers Apple Container, Docker Desktop, and OrbStack across CPU, memory, startup, sequential disk I/O, and small file workflows, for both native and emulated containers.

Tests We Ran

Each test used the same Alpine 3.20 image and identical configurations, isolated from caches.
  1. CPU performance (1 thread and all threads) using Sysbench
  2. Memory throughput using Sysbench (1 MiB blocks, total 4 GiB transfer)
  3. Container startup time
  4. Sequential disk I/O using FIO (read and write)
  5. Small file and metadata workflow (create, read, stat, copy, rm) on the host filesystem
Each test was executed twice per platform:
  1. Native: arm64 images and containers
  2. emulated: amd64 images running under emulation

CPU

Two views in one chart: single thread vs all threads. Values are sysbench events per second.
Single Thread (higher is better)
Multi Thread (higher is better)

Memory throughput

Higher numbers are better. Values are MiB per second.

Startup time

Time to run a tiny container that exits. Lower is better.

Host Filesystem Read & Write Speeds

We grouped all reads and all writes into two charts.
Each bar in the charts corresponds to one benchmark configuration, defined by:
  1. the file size used during the test (e.g., 128 MB, 1 GB, 4 GB)
  2. the block size for read or write operations (e.g., 4 KB, 64 KB, 1 MB)
Native arm64
Emulated amd64

Host Filesystem Read & Write Speeds

We also measured a realistic small file workflow on the host filesystem (lower is better).
Native arm64 (lower is better)
Emulated amd64 (lower is better)

How the Tests Were Performed

We measured each test 20 times and averaged the results. We let the Mac cool down for a full hour before running the benchmarks again.
  1. CPU: sysbench cpu --max-time=60 with 1 thread, then with all available threads.
  2. Memory: sysbench memory --memory-block-size=1M --memory-total-size=4G --threads=<all>
  3. Startup: run a minimal container and record wall time after images are present.
  4. Read & Write Speeds: fio on a host bind mount with varying file sizes (128 MiB, 1 GiB, 4 GiB) and block sizes (4 KiB, 64 KiB, 1 MiB).
  5. Hardware: We used a brand new base M4 Mac mini (clean macOS install, no background apps).
  6. Apple Container: We tested the latest version 0.6.0.
  7. Docker Desktop: We tested version 4.47.0.
  8. OrbStack: We tested version: 2.0.4
  9. Small file workflow: a custom script that creates, reads, stats, lists, copies, and removes a large number of small files on a host directory.

Final Thoughts

It is exciting to see Apple investing in a first party container implementation on Apple silicon. Apple Container already delivers strong CPU and memory performance with native arm64 images, even though it is still at version 0.6.0.

At the same time, OrbStack stands out for its filesystem and small file performance, while Docker Desktop remains the champion for container startup latency and a familiar, mature ecosystem.

Let us know which benchmark you’d like to see next !

Share article

Tutorial
Mirror Debian and Ubuntu Repositories
Tutorial
Mirror the Entire PyPI Repository with Bash
Release
Run a Private Docker Registry on Your iPhone