Avoid utf8 encoding binary image files in getHash. #226
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.
Here are 2 profiles of building the same website, first without the PR, and then with the PR.
With the PR,
getHash
takes 3.1% (30.7ms) of the total build time. Without the PR, it took 34% (549ms) of the total time.The profile without the PR shows 518ms spent in buffer.toString.
Using samply to capture a profile showing the native code, I could see that almost all the time spent in
toString
is spent innode::StringBytes::Encode
.Profiles were captured using
node --cpu-prof node_modules/.bin/eleventy
and then loaded in the Firefox Profiler to visualize and share them.