hnsl / unox

Unison OS X unison-fsmonitor adapter.
101 stars 12 forks source link

watchdog is slow #25

Open alexf101 opened 5 years ago

alexf101 commented 5 years ago

We use unison as a way to quickly synchronize files between developer's MacBook Pro's and EC2 instances that run a development version of our application.

So, latency is important.

I've made a fork of this repo (https://github.com/StileEducation/unox) that calls out to fswatch instead of using watchdog, and it's ~100 times faster - on our (fairly large) dev environment, fswatch uses very little CPU and notifies unison about files to sync in << 1 second, whereas watchdog uses almost a whole CPU and takes upwards of 5 seconds to notify about changes.

I believe the wistia fork also removed watchdog and replaced it with a different watcher, I assume for the same reason? (I couldn't get their fork to work for me though, it had seg fault issues on my machine).

I'm not going to make a pull request as my fork adds a dependency on having fswatch installed (brew install fswatch), and I haven't tested it for anything outside our particular use case. However, may I suggest that doing something similar may be useful upstream if other people are also concerned about latency?