-
Notifications
You must be signed in to change notification settings - Fork 26
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
Unusually poor performance in current release version #8
Comments
@austrin can you provide the specific script and test data that went from ~5 minutes to > 3 hours? That would be helpful in debugging. |
OK, here it is: https://gist.github.com/austrin/981690606d9f695d9efb591617b634ac |
That commit caused unnecessary creation of string objects in REGEX commands. Work around that by providing direct access to the data buffer. Also use peek() instead of next() to not construct unnecessary single-char string objects. Addresses #8.
Ok, I've fixed one issue causing performance degradation since 2018-04-22, but I don't see performance degradation for ascendingphoto. Here's my runtimes for the whole data sets of these problems from NWERC 2018: https://gist.github.com/eldering/5dd61a4f46abc451292dc97725f3ce40 |
Sidenote: That crash is a nice reminder why RE2 is a good regex implementation. |
The Oct 21 release version of problemtools seems to have severe performance degradation from the April 22 release, on slow-running scripts.
Concrete examples include the ascendingphoto problem from NWERC 2017 (e.g. case 07-big.in went from 4.7 to 6.0 seconds) even though b281d3f, added between the two versions, claims to improve performance on that specific set.
As an extreme example, I found one script that took ~5 minutes to run on the April 22 release, and more than 3 hours (after which I decided to stop waiting) to run on the Oct 21 release.
The text was updated successfully, but these errors were encountered: