WIP: Optimize PnP template serialization#264
Conversation
⏱️ Benchmark Resultsgatsby install-full-cold
📊 Raw benchmark data (gatsby install-full-cold)Base times: 2.582s, 2.645s, 2.565s, 2.562s, 2.525s, 2.588s, 2.584s, 2.445s, 2.568s, 2.439s, 2.543s, 2.562s, 2.496s, 2.458s, 2.571s, 2.589s, 2.544s, 2.544s, 2.535s, 2.532s, 2.462s, 2.437s, 2.542s, 2.534s, 2.462s, 2.601s, 2.454s, 2.570s, 2.488s, 2.528s Head times: 2.656s, 2.757s, 2.467s, 2.556s, 2.605s, 2.576s, 2.602s, 2.464s, 2.362s, 2.439s, 2.536s, 2.532s, 2.538s, 2.428s, 2.500s, 2.570s, 2.565s, 2.426s, 2.458s, 2.457s, 2.520s, 2.556s, 2.353s, 2.476s, 2.481s, 2.351s, 2.523s, 2.468s, 2.526s, 2.457s gatsby install-cache-and-lock (warm, with lockfile)
📊 Raw benchmark data (gatsby install-cache-and-lock (warm, with lockfile))Base times: 0.432s, 0.427s, 0.435s, 0.432s, 0.436s, 0.437s, 0.437s, 0.444s, 0.436s, 0.435s, 0.435s, 0.437s, 0.440s, 0.438s, 0.436s, 0.439s, 0.435s, 0.432s, 0.436s, 0.438s, 0.435s, 0.436s, 0.440s, 0.461s, 0.443s, 0.437s, 0.432s, 0.439s, 0.439s, 0.434s Head times: 0.436s, 0.435s, 0.438s, 0.440s, 0.440s, 0.584s, 0.515s, 0.472s, 0.435s, 0.428s, 0.431s, 0.432s, 0.435s, 0.432s, 0.432s, 0.429s, 0.435s, 0.437s, 0.430s, 0.432s, 0.429s, 0.435s, 0.436s, 0.434s, 0.429s, 0.435s, 0.436s, 0.437s, 0.437s, 0.431s |
Avoid repeatedly decompressing the embedded PnP templates and stops building large intermediate strings when generating .pnp.cjs, .pnp.data.json, and .pnp.loader.mjs.