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?
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?