-
Notifications
You must be signed in to change notification settings - Fork 6
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
Performance issue on BeatmapSet.IsFileUsed(string filePath) #10
Comments
Improves performance on mapsets with extreme amounts of files. In the case of https://osu.ppy.sh/beatmapsets/1619982, we improve loading time by more than 100x (from ~120 seconds to 1 second). See #10
On top of the above, the following code also quickly becomes slow as the amount of files increases: MapsetParser/objects/BeatmapSet.cs Lines 268 to 278 in 80b1aaa
As far as I've diagnosed, the bottleneck for the latter case seems to be the loop of To address the above, I made the following optimizations:
Running Mapset Verifier over the same mapset now takes about 16 seconds instead of 5 minutes. Although I could probably improve this more, I think it's acceptable enough now, especially considering how rare these cases are. I will want to test this before releasing it, though, in case I've introduced any bugs by doing this. Will leave this open until then. |
Mapset Verifier will hit a horrible performance issue while reading https://osu.ppy.sh/beatmapsets/1619982 this mapset with storyboard caused by CheckUnusedFiles plugin. It is mainly because that there is a large amount of files in this mapset.
MapsetParser/objects/BeatmapSet.cs
Lines 181 to 254 in 0965ae1
The text was updated successfully, but these errors were encountered: