-
Notifications
You must be signed in to change notification settings - Fork 23
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
Stress-testing vundo #67
Comments
Transferred to a new issue so that issue #66 is focused on the timestamp lossage. |
Launch vundo on very wide trees (not much branching) is slow, and moving around often results in a "step function" assertion fail -> extreme tree truncation, when navigating from the root of the tree:
|
I like the idea very much! If you are interested, could you tidy it up and add it under /test? It would be handy for generating random undo trees. I'll investigate into the assertion failure. |
Great; see #69. I cleaned up the reporting a bit and made root-navigation optional. The assertion failures usually happen while navigating near the root of a large tree, which may make sense since that represents the maximum "loop back" of the linear undo history. These are a common type:
followed by a refresh and |
See this gist for an undo/vundo stress-test function,
vundo--stress-test
. It has been revealing to play with.These setting definitely pushing the limits:
this one ranges from 5-10s (6s more typical). Even with this gargantuan tree, navigation is still quite smooth (again, 8 yo hardware here). Using
a
to head up the tree works reliably, even as the length of the buffer-undo-list grows beyond 1/2 million. This is really impressive @casouri.You can start to break things by going to extremes (here I've added a navigation to root benchmark too):
Here navigation starts to stutter (though basically still usable), and you get the dreaded "No possible route" message sometimes. Also assertions occasionally fail when navigating to a child branch:
Speed seems independent of whether vundo is native-compiled, which is good (time is spent outside vundo).
Originally posted by @jdtsmith in #66 (comment)
The text was updated successfully, but these errors were encountered: