You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 3, 2023. It is now read-only.
Gunison reads diff output in chunks of up to 64 KiB (the current buffer size in watchUnison). After each chunk, Gunison runs a regexp (looking for the end of diff) on the entire diff output received so far. For large diffs that take many chunks to read, this gets quadratically slow.
One way to fix this would be to postpone core.ProcOutput until Gunison gets a short read or a timeout, indicating that Unison/diff has stopped writing.
But I’m not sure this is worth fixing, because:
diffs many times larger than 64 KiB must be rare;
regardless, users are better off configuring Unison to use a GUI diff tool (such as meld) that doesn’t write to stdout at all.
The text was updated successfully, but these errors were encountered:
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Gunison reads diff output in chunks of up to 64 KiB (the current buffer size in
watchUnison
). After each chunk, Gunison runs a regexp (looking for the end of diff) on the entire diff output received so far. For large diffs that take many chunks to read, this gets quadratically slow.One way to fix this would be to postpone
core.ProcOutput
until Gunison gets a short read or a timeout, indicating that Unison/diff has stopped writing.But I’m not sure this is worth fixing, because:
diff
tool (such asmeld
) that doesn’t write to stdout at all.The text was updated successfully, but these errors were encountered: