Open
Description
Version
v16.14.2
Platform
Linux chen 5.13.0-39-generic #44~20.04.1-Ubuntu SMP Thu Mar 24 16:43:35 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Subsystem
No response
What steps will reproduce the bug?
Node executes 1.js and then uses top -H -p
to view, only one thread works 100%, but the v12.18.4 version can execute concurrently with multiple threads,So when the amount of operation of the tree is large enough, v12 is more than v
16 operations are fast
https://github.com/hanabi1224/Programming-Language-Benchmarks/blob/main/bench/algorithm/binarytrees/1.js
$ node 1.js 21
$ top -H -p
v16.14.2:
top - 17:39:12 up 1 day, 22 min, 1 user, load average: 0.41, 0.50, 0.46
Threads: 7 total, 1 running, 6 sleeping, 0 stopped, 0 zombie
%Cpu(s): 7.0 us, 2.8 sy, 0.0 ni, 90.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 23818.0 total, 641.0 free, 13632.2 used, 9544.8 buff/cache
MiB Swap: 49152.0 total, 47951.2 free, 1200.8 used. 7510.3 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
92913 ack 20 0 1028048 480700 28820 R 94.3 2.0 0:08.73 node
92916 ack 20 0 1028048 480700 28820 S 6.0 2.0 0:00.47 node
92917 ack 20 0 1028048 480700 28820 S 6.0 2.0 0:00.54 node
92915 ack 20 0 1028048 480700 28820 S 5.0 2.0 0:00.47 node
92918 ack 20 0 1028048 480700 28820 S 4.3 2.0 0:00.47 node
92914 ack 20 0 1028048 480700 28820 S 0.0 2.0 0:00.00 node
92919 ack 20 0 1028048 480700 28820 S 0.0 2.0 0:00.00 node
v12.18.4:
top - 17:44:01 up 1 day, 27 min, 1 user, load average: 1.09, 0.65, 0.52
Threads: 7 total, 1 running, 6 sleeping, 0 stopped, 0 zombie
%Cpu(s): 10.4 us, 4.7 sy, 0.0 ni, 84.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 23818.0 total, 1136.4 free, 13659.7 used, 9021.9 buff/cache
MiB Swap: 49152.0 total, 47892.2 free, 1259.8 used. 7468.0 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
93716 ack 20 0 970844 452148 27948 R 98.7 1.9 0:13.18 node
93721 ack 20 0 971100 452412 27948 S 22.3 1.9 0:02.42 node
93719 ack 20 0 970844 452412 27948 S 15.3 1.9 0:01.92 node
93720 ack 20 0 970844 452412 27948 S 15.3 1.9 0:02.21 node
93718 ack 20 0 970844 452148 27948 S 15.0 1.9 0:02.07 node
93717 ack 20 0 970844 452148 27948 S 0.0 1.9 0:00.00 node
93722 ack 20 0 971100 452412 27948 S 0.0 1.9 0:00.00 node
How often does it reproduce? Is there a required condition?
always
What is the expected behavior?
Can be executed concurrently by multiple threads
What do you see instead?
Only single thread works 100%
Additional information
No response