Skip to content

stream: add fast-path for readable streams

Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1225/

Results
                                                                             confidence improvement accuracy (*)    (**)   (***)
streams/readable-encoding.js n=1000 op='push' len=16384 encoding='latin1'                    1.29 %       ±2.75%  ±3.66%  ±4.77%
streams/readable-encoding.js n=1000 op='push' len=16384 encoding='utf-8'            ***     15.70 %       ±4.21%  ±5.61%  ±7.34%
streams/readable-encoding.js n=1000 op='push' len=256 encoding='latin1'                     -5.85 %       ±7.27%  ±9.68% ±12.60%
streams/readable-encoding.js n=1000 op='push' len=256 encoding='utf-8'                      -0.91 %       ±7.21%  ±9.61% ±12.53%
streams/readable-encoding.js n=1000 op='push' len=512 encoding='latin1'              **     -9.23 %       ±6.72%  ±8.94% ±11.64%
streams/readable-encoding.js n=1000 op='push' len=512 encoding='utf-8'                       3.36 %       ±8.07% ±10.74% ±13.98%
streams/readable-encoding.js n=1000 op='unshift' len=16384 encoding='latin1'                 1.49 %       ±4.27%  ±5.68%  ±7.40%
streams/readable-encoding.js n=1000 op='unshift' len=16384 encoding='utf-8'         ***     15.10 %       ±4.09%  ±5.45%  ±7.11%
streams/readable-encoding.js n=1000 op='unshift' len=256 encoding='latin1'           **     -8.54 %       ±5.66%  ±7.55%  ±9.85%
streams/readable-encoding.js n=1000 op='unshift' len=256 encoding='utf-8'                   -6.27 %       ±7.00%  ±9.32% ±12.14%
streams/readable-encoding.js n=1000 op='unshift' len=512 encoding='latin1'                  -0.28 %       ±6.23%  ±8.30% ±10.85%
streams/readable-encoding.js n=1000 op='unshift' len=512 encoding='utf-8'                   -1.42 %       ±7.15%  ±9.51% ±12.39%

Merge request reports

Loading