reproductible benchmarks · let’s talk tooling not fancy crypto, but at least it is easy to...

Post on 18-Jul-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Reproductible benchmarksLet’s talk tooling

Not fancy crypto, but at least it is easy to understand!

Nicolas DORIERCode monkey at DG Lab and Metaco

Main maintainer of NBitcoin and BTCPay Serverhttps://github.com/dgarage/LightningBenchmarks

• Tell you tell me about Lightning performance?

I was asked

• How fast can Alice pay Bob?• How fast can Alice pay Bob through

Carol?• How fast Alices can pay Bob?

I reformulated

• 34 payments / sec• 12 payments / sec• 20 payments / sec (with 4

Bobs)

I responded c-lightning in may 2018

Does it matter?

Does it matter?

No (interesting for developers)

• Lightning network implementers• Services relying on micro

payments

Framework Benchmarking and sharing results predictably easily

Reframing the objective

In the trenches

Run.sh

Setup: Alice pays Bob

Execution: Alice pays Bob

Specify the concurrencyvalues to test

Template used for actors

Generated artifacts

A bug

No bug

Setup: Alice pays Bob via Carol

Execution: Alice pays Bobvia Carol

Vary the number of Carols

Setup: Alices pay Bob

Execution: Alices pay Bob

Vary the number of Alices

Instrumentation

Revisiting the bug

Alice Bob

Careful!

• Containers are running in priviledged mode

TODO

• Depending on a common abstraction to clightning, LND and charge.

• Making Lightning implementations parametrizable

Thank youhttps://github.com/dgarage/LightningBenchmarks

top related