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

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more