celestiaorg / rsmt2d

Go implementation of two dimensional Reed-Solomon merkle tree data availability scheme.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Benchmark computeRoots function for large square sizes

staheri14 opened this issue · comments

In the context of the big blonk workstream, and based on the CPU profiling data, it has been hypothesized that the computeRoots function accounts for 30% of CPU usage. This was observed during an experiment conducted in testground, which involved block sizes ranging from 2 to 100 MB. To validate the duration this function takes, the computeRoots function must be benchmarked. If a benchmark already exists, it should be expanded to include larger data square sizes to accurately assess its performance.

Including more context: below is the flame graph associated with the cpu profiling data mentioned in the description of the issue:

Screenshot 2024-03-04 at 5 22 12 PM

Most of the time seem to be spend on celestiaorg/nmt#216