input-output-hk / mithril

Stake-based threshold multi-signatures protocol
https://mithril.network
Apache License 2.0
115 stars 36 forks source link

Remove bottleneck in proof generation of Merkle map #1739

Closed jpraynaud closed 3 weeks ago

jpraynaud commented 4 weeks ago

Content

This PR includes fix of some bottlenecks identified in the proof generation of the Merkle map:

Benchmarks

Screenshot from 2024-06-10 19-14-29

Total Requests Concurrency Transactions/Request Pool (x50): Request/s Pool (x50) + Optimization MKMap proof computation: Request/s
1000 100 1 281.4 1403.97
1000 100 2 192.84 468.39
1000 100 3 138.47 289.79
1000 100 4 123.5 241.31
1000 100 5 102.83 149.93
1000 100 6 84.58 137.74
1000 100 7 73.35 111.12
1000 100 8 65.93 99.63
1000 100 9 60.79 80.79
1000 100 10 56.39 79.55

Running on Linux / 8 cores / 64 GB RAM / 2 TB SSD

Pre-submit checklist

Issue(s)

Closes #1730

github-actions[bot] commented 4 weeks ago

Test Results

    3 files  ±0     43 suites  ±0   8m 32s :stopwatch: -14s 1 029 tests +1  1 029 :white_check_mark: +1  0 :zzz: ±0  0 :x: ±0  1 127 runs  +1  1 127 :white_check_mark: +1  0 :zzz: ±0  0 :x: ±0 

Results for commit 4f85efb1. ± Comparison against base commit bda0888f.

:recycle: This comment has been updated with latest results.