perf: improve isFileReadable performance #6868
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
accessSync
used inisFileReadable
is slow because it throws and Node spends significant time generating stack trace.This PR uses
statSync
withthrowIfNoEntry: false
parameter to make it not throw.Build performance improvement on my machine was around 10%.
Additional context
After profiling Vite 2.7 I found that
resolve
package is slow. After updating Vite, performance issue withresolve
package was fixed, but I saw the same stack trace in Vite code. Tracked downresolve
solution to this issue browserify/resolve#255. Backported this solution to Vite.I could not find mentioned in the comment issue to test for that case. #2051 looks completely unrelated.
What is the purpose of this pull request?
Before submitting the PR, please make sure you do the following
fixes #123
).