-
-
Notifications
You must be signed in to change notification settings - Fork 33.8k
Closed
Labels
performanceIssues and PRs related to the performance of Node.js.Issues and PRs related to the performance of Node.js.
Description
Version
v18.12.1
Platform
Linux ddf105937af6 5.10.47-linuxkit #1 SMP PREEMPT Sat Jul 3 21:50:16 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Subsystem
No response
What steps will reproduce the bug?
Run the following script replacing node -p '7+8' with the node binary and any command you want to benchmark.
I chose 7+8 as a simple addition example but it reproduces with anything.
Run once with node 16.x and then run again with node 18.x binary.
#!/bin/bash
export TIMEFORMAT=%R;
SUM=0
TRIES=3
for i in $(seq $TRIES)
do
STR=$( { time node -p '7+8' > /dev/null; } 2>&1 )
TRIM=$(echo $STR | sed 's/^0\.0*//')
echo " $i - start time was $TRIM ms"
MS=$((TRIM))
SUM=`expr $SUM + $MS`
done
AVG=`expr $SUM / $TRIES`
echo "Done - average start time for node $(node --version) was $AVG ms"How often does it reproduce? Is there a required condition?
Every time
What is the expected behavior?
Expected Node.js 18 to perform the same as Node.js 16
What do you see instead?
Node.js 16 was faster and Node.js 18 was slower
16.x
1 - start time was 428 ms
2 - start time was 387 ms
3 - start time was 379 ms
Done - average start time for node v16.18.1 was 398 ms
18.x
1 - start time was 440 ms
2 - start time was 452 ms
3 - start time was 425 ms
Done - average start time for node v18.12.1 was 439 ms
That's a decrease of 10%
Additional information
This regression affects macOS, Linux, etc
trivikr, landonxjames, richarddd, lukeshay, andclt and 12 moretonivj5, Raymond-Ly, SpencerIsGiddy, Julien-Marcou, Enase and 3 more
Metadata
Metadata
Assignees
Labels
performanceIssues and PRs related to the performance of Node.js.Issues and PRs related to the performance of Node.js.