rust-lightning icon indicating copy to clipboard operation
rust-lightning copied to clipboard

do performance benchmarking of LDK

Open moneyball opened this issue 3 years ago • 4 comments

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.

moneyball avatar Aug 13 '22 21:08 moneyball

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

ariard avatar Aug 14 '22 18:08 ariard

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?

tnull avatar Aug 15 '22 11:08 tnull

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

moneyball avatar Aug 15 '22 18:08 moneyball

As we already have pretty decent benchmark coverage, I imagine the real work here is somehow start benchmarking memory usage and disk footprint.

TheBlueMatt avatar Mar 11 '25 20:03 TheBlueMatt