ChainSafe / ChainSafe/ssz

Inefficient executeHashComputations of hashtree

Open
#479 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
61
Forks
26
Avg merge
3h 20m
Merged PRs (30d)
6

Description

benchmark does not show great `executeHashComputations()` performance on Linux, for example in https://github.com/ChainSafe/ssz/actions/runs/14090676972/job/39466309168

```
hashtree
✔ getHashComputations 369.1343 ops/s 2.709041 ms/op x1.226 119 runs 12.2 s
✔ executeHashComputations 100.3185 ops/s 9.968249 ms/op x0.[90](https://github.com/ChainSafe/ssz/actions/runs/14090676972/job/39466309168#step:6:91)5 50 runs 4.91 s
✔ get root 65.38101 ops/s 15.29496 ms/op x1.030 12 runs 2.27 s
```

`executeHashComputations` is only 50% faster than `get root`, on our typical Linux node it's only 30% faster

however on my Macbook, it's 150% faster.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by running the hashtree benchmark on Linux and compare executeHashComputations() with getHashComputations() and get root, using the linked GitHub Actions run as a baseline. Trace the executeHashComputations() path to identify the source of the performance gap, then confirm the benchmark shows a meaningful improvement on Linux.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.