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

Migrate functional-red-black-tree to js-sdsl #2283

Closed
ZLY201 opened this issue Sep 14, 2022 · 5 comments
Closed

Migrate functional-red-black-tree to js-sdsl #2283

ZLY201 opened this issue Sep 14, 2022 · 5 comments

Comments

@ZLY201
Copy link
Contributor

ZLY201 commented Sep 14, 2022

Hey! I'm the developer of Js-sdsl. Official website: https://js-sdsl.github.io/

Now, we published the version 4.1.4.

I see you are using functional-red-black-tree.

In benchmark, we have confirmed that Js-sdsl is several times faster than functional-red-black-tree.

I've submitted a PR to eslint and has been accepted.

See eslint/eslint#16255 and eslint/eslint#16267.

I am willing to submit a pull request for this change.

Looking forward to your reply! :D

@acolytec3
Copy link
Contributor

Thanks for the note. We're definitely open to a PR though will want to see the benchmarks using our own code before merging. Note, this dependency is also used in our statemanager package.

@ZLY201
Copy link
Contributor Author

ZLY201 commented Sep 14, 2022

OK, I'll show you the benchmark result later.

@ZLY201
Copy link
Contributor Author

ZLY201 commented Sep 14, 2022

I submitted a PR: #2285.

And benchmarks here:

  • perf/migrate-rbtree

https://github.com/ZLY201/ethereumjs-monorepo/actions/runs/3054050866/jobs/4925454999

> @ethereumjs/vm@6.0.0 benchmarks
> node --max-old-space-size=4096 ./benchmarks/run.js benchmarks mainnetBlocks:10

Benchmarking started...
Running 'mainnetBlocks':
Total number of blocks in data set: 15
Number of blocks to sample: 10
Block 9422905 x 18,375 ops/sec ±2.02% (82 runs sampled)
Block 9422906 x 17,719 ops/sec ±4.70% (82 runs sampled)
Block 9422907 x 17,477 ops/sec ±4.75% (85 runs sampled)
Block 9422908 x 16,721 ops/sec ±9.67% (85 runs sampled)
Block 9422910 x 17,523 ops/sec ±1.95% (80 runs sampled)
Benchmark run finished.
  • master

https://github.com/ethereumjs/ethereumjs-monorepo/actions/runs/2957405169/jobs/4729608826

> @ethereumjs/vm@6.0.0-rc.1 benchmarks
> node --max-old-space-size=4096 ./benchmarks/run.js benchmarks mainnetBlocks:10

Benchmarking started...
Running 'mainnetBlocks':
Total number of blocks in data set: 15
Number of blocks to sample: 10
Block 9422905 x 15,604 ops/sec ±3.03% (82 runs sampled)
Block 9422906 x 14,920 ops/sec ±5.10% (80 runs sampled)
Block 9422907 x 15,375 ops/sec ±2.51% (82 runs sampled)
Block 9422908 x 14,200 ops/sec ±8.53% (71 runs sampled)
Block 9422910 x 15,627 ops/sec ±2.29% (80 runs sampled)
Benchmark run finished.

@holgerd77
Copy link
Member

@ZLY201 Hey there, thanks a lot for this PR, the benchmark results look really amazing 🎉, generally your whole data structure library makes a really good impression, congrats on that! 👍

@holgerd77
Copy link
Member

Closed by #2285

There will be a couple of weeks until a new release on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants