-
-
Notifications
You must be signed in to change notification settings - Fork 289
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow alternative implementations of unison-fsmonitor #775
Comments
Happy to review an PR for that. I tested watchman and it has other drawbacks - it will by no means be a clean win / one sided |
@EugenMayer what option would you prefer - a flag when starting Also - what were those other drawbacks, if you can recall them, so I can keep an eye on them? |
@EugenMayer if we're going to go with detecting alternative |
is #776 enough to get this running already, is the implementation interface of the alternative just feature complete with the other? Could you post some benachmarks / ideas / motivation so we can move this into the documentation as an option for people to try / optimize. I'am yet not sure what troubles i had back then, so what downtime watchman had, but things might change and we might need to find, if any, the weakspot and the sweespot. I would really love to add this to the docs, what do you think? |
The #776 is enough to make this running, the whole instruction to enable it is basically:
and it seems to work as a drop-in replacement. I'm not sure how to run benchmarks on this one since what speeds up the most is Unoxwith-unox.mp4unison-fsmonitorwith-unison-fsmonitor.mp4
BTW I only now realized but this alternative implementation is just using Rust fsevents implementation and NOT watchman - it was linking to watchman docs which is why I got confused (and I'm using watchman everywhere because of webpack so I already had it installed) but I double-checked the source code and it's just plain Rust. |
To be more specific, it's not about files getting modified too fast, it's about files modified when unison hits the reconciliation phase. This is also happening with unox. |
@EugenMayer I think we can add this to the Getting Started > Advanced / optional section of the docs for now:
I can add it to the PR, just give the word :) |
@d4rky-pl to clarify, I assume this is mainly beneficial when using this with the sync strategy for a project set to |
@d4rky-pl as you suggested, only for unison strategies, not native-OS X |
Error/Feature Requestion/Docs
There's an alternative implementation of unison-fsmonitor which
uses Facebookis implemented in Rust and it's insanely faster compared to eugenmayer/dockersync/unox (we're talking <1s vs 2-5s for each update). Unfortunately to use it I had to modify the code ofwatchman
anddocker-sync
to prevent it from forcing me to remove it and installingunox
instead.It would be amazing if we could somehow disable the
unox
check, either with --flag or even ENV var.The text was updated successfully, but these errors were encountered: