DEV Community

Kiet Nguyen
Kiet Nguyen

Posted on

3 3

docker-sync performance in Apple M1

Syncing by docker-sync is still faster than running by native (out of the box)

Setup

Hardware

  • Apple M1 Pro
  • 32GB
  • Monterey
  • "Enable VirtioFS accelerated directory sharing" experimental feature is checked

Docker for Mac (only)

  • Version: 4.9.1 (81317)
  • Memory: 8GB
  • CPUs: 5

Results

Native

docker run -it -v /tmp:/var/www alpine time dd if=/dev/zero of=/var/www/test.dat bs=1024 count=100000
100000+0 records in
100000+0 records out
real    0m 9.31s
user    0m 0.25s
sys     0m 3.91s
Enter fullscreen mode Exit fullscreen mode

Docker-sync - Strategy: native_osx

git clone https://github.com/EugenMayer/docker-sync-boilerplate
cd docker-sync-boilerplate/default
# Set a custom image in docker-sync.yml
#    appcode-native-osx-sync:
# +    native_osx_image: eugenmayer/unison:2.51.3-4.12.0-ARM64
docker-sync-stack start
Enter fullscreen mode Exit fullscreen mode
docker exec -it default-app-native-osx-1 time dd if=/dev/zero of=/var/www/test.dat bs=1024 count=100000
100000+0 records in
100000+0 records out
real    0m 0.35s
user    0m 0.03s
sys     0m 0.31s
Enter fullscreen mode Exit fullscreen mode

Docker-Sync - Strategy: Unison

git clone https://github.com/EugenMayer/docker-sync-boilerplate
cd docker-sync-boilerplate/unison
# Set a custom image in docker-sync.yml
#    appcode-unison-sync: # tip: add -sync and you keep consistent names as a convention
#      src: './app'
#      sync_strategy: 'unison'
# +    unison_image: eugenmayer/unison:2.51.3-4.12.0-ARM64
docker-sync-stack start
Enter fullscreen mode Exit fullscreen mode
docker exec -it unison-app-unison-1 time dd if=/dev/zero of=/var/www/test.dat bs=1024 count=100000
100000+0 records in
100000+0 records out
real    0m 0.31s
user    0m 0.03s
sys     0m 0.28s
Enter fullscreen mode Exit fullscreen mode

References

Speedy emails, satisfied customers

Postmark Image

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay