lightningdevkit / rust-lightning

A highly modular Bitcoin Lightning library written in Rust. It's rust-lightning, not Rusty's Lightning!
Other
1.15k stars 364 forks source link

do performance benchmarking of LDK #1667

Open moneyball opened 2 years ago

moneyball commented 2 years ago

Measure a variety of things such as:

  1. Storage size of LDK optimized binaries on each platform (Rust, Swift, Kotlin, JS, etc.). With and without no_std. If there are other optional components isolate and measure them too.
  2. Memory (RAM) size of LDK along a variety of dimensions. Minimum memory required for a base case (0 peers, 0 channels) and perhaps 1 peer 1 channel. Then marginal memory requirement per peer, per channel, per state update. Also gossip data vs. rapid gossip data vs. none (ie server side pathfinding).
  3. CPU performance for signing/doing a state update on send and receive. CPU performance for finding a path. etc.

Ideally could make this part of CI so we're automatically measuring and detecting improvements and regressions.

ariard commented 2 years ago

Related #1641, as reliable benchmark could be a source of information towards node operators in selecting the appropriate deployment for their needs.

tnull commented 2 years ago

Seem this is a duplicate of https://github.com/lightningdevkit/rust-lightning/issues/1537 ? But since this one is more specific, maybe close the older issue?

moneyball commented 2 years ago

haha whoops. i guess i really want to see this happen :)