11ty / eleventy-img

Utility to perform build-time image transformations.
https://www.11ty.dev/docs/plugins/image/
433 stars 53 forks source link

Avoid utf8 encoding binary image files in getHash. #226

Open fqueze opened 2 months ago

fqueze commented 2 months ago

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 in node::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.