Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove variability on string generation #50

Merged
merged 1 commit into from
Oct 1, 2020
Merged

remove variability on string generation #50

merged 1 commit into from
Oct 1, 2020

Conversation

mcollina
Copy link
Member

Fixes #47

On node v14.5:

benchSonic*1000: 505.073ms
benchSonicSync*1000: 9.019s
benchSonic4k*1000: 471.747ms
benchSonicSync4k*1000: 338.145ms
benchCore*1000: 4.228s
benchConsole*1000: 7.986s
benchSonic*1000: 467.774ms
benchSonicSync*1000: 8.954s
benchSonic4k*1000: 463.897ms
benchSonicSync4k*1000: 326.755ms
benchCore*1000: 4.229s
benchConsole*1000: 7.845s

On node v14.4:

benchSonic*1000: 505.515ms
benchSonicSync*1000: 8.638s
benchSonic4k*1000: 455.108ms
benchSonicSync4k*1000: 326.902ms
benchCore*1000: 5.098s
benchConsole*1000: 7.555s
benchSonic*1000: 445.279ms
benchSonicSync*1000: 8.511s
benchSonic4k*1000: 446.532ms
benchSonicSync4k*1000: 303.18ms
benchCore*1000: 4.589s
benchConsole*1000: 7.377s

@mcollina
Copy link
Member Author

@puzpuzpuz wdyt?

@puzpuzpuz
Copy link
Contributor

Interesting. So, it looks like frequent string concats were creating GC pressure which was one of bottlenecks in the benchmark and GC algorithm started behaving differently in 8.3.

In that case it really makes sense to remove that bottleneck to focus the benchmark on the overhead of each stream implementation. The change makes sense to me.

@mcollina mcollina merged commit 1178b14 into master Oct 1, 2020
@mcollina mcollina deleted the fix-bench branch October 1, 2020 08:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Performance regression in Node.js v14
2 participants