-
Notifications
You must be signed in to change notification settings - Fork 27.9k
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
paths.normalize(): perf regression #7086
Comments
impossible ;-) |
Seems like it gets into the deopt-state cos it was optimised to many times... |
Sorry I have to reopen this because I notice that the UI is freezing when I do a |
@bpasero I don't understand how that is related to |
might be an optimisation I removed to do nothing in case of an already normal string... |
@jrieken the gulp watch causes file events to be triggered in relatively short time frame that probably spam our listeners in the window that all do normalization. I think spamming file events is a sensitive topic for the workbench because many listeners are in the UI thread and most of them do path/uri magic. We could try to pull out more of that to the file watcher process but nevertheless it is a good test case for measuring performance in path/uri land. |
@bpasero Please check this again if you don't mind. I took the shortcut to figure out first if a path is normal - which in case of |
Ok - hold on. RegEx for the win! Using |
@jrieken yeap, back to good, thanks! |
Running the following test with profiling enabled shows that recent changes to paths.ts cause a major performance regression:
Before:
After:
profiles.zip
The text was updated successfully, but these errors were encountered: