Commit Graph

8 Commits

Author SHA1 Message Date
Max Inden 9e2ae17326
chore(perf): update to rust-libp2p v0.53.2 (#341)
Update `perf/impl/rust-libp2p/v0.53` to rust-libp2p `v0.53.2`. With this patch
release comes the rust-yamux stream receive window auto-tuning.

https://github.com/libp2p/rust-libp2p/pull/4970

https://github.com/libp2p/rust-libp2p/releases/tag/libp2p-v0.53.2
2023-12-30 20:39:05 +01:00
Max Inden 299aaeb8e4
Revert "chore(perf): update to rust-libp2p v0.53.2 (#339)" (#340)
This reverts commit 393b09a43f.
2023-12-19 18:37:15 +01:00
Max Inden 393b09a43f
chore(perf): update to rust-libp2p v0.53.2 (#339)
Update `perf/impl/rust-libp2p/v0.53` to rust-libp2p `v0.53.2`. With this patch
release comes the rust-yamux stream receive window auto-tuning.

https://github.com/libp2p/rust-libp2p/pull/4970

https://github.com/libp2p/rust-libp2p/releases/tag/libp2p-v0.53.2
2023-12-19 22:37:54 +11:00
Max Inden 0a8dbab87c
feat(perf): continuosly measure on single conn (iperf-style) (#276)
Our current throughput tests open a connection, open a stream,
up- or download 100MB and close the connection. 100 MB is not enough on the
given path (60ms, ~5gbit/s) to exit congestion controller's slow-start. See
https://github.com/libp2p/test-plans/issues/261 for details.

Instead of downloading 100MB multiple times, each on a new connection, establish
a single connection and continuously measure the throughput for a fixed
duration (20s).
2023-10-25 13:24:08 +02:00
Max Inden 73dba1a5bc
feat(perf/rust-libp2p): upgrade to v0.52.3 and remove master (#290)
- Upgrade rust-libp2p `v0.52` implementation to rust-libp2p `v0.52.3`.
- Remove rust-libp2p `master` implementation. Given that `v0.52.3` contains the
  stable QUIC implementation, there is no more need for `master`.
2023-09-01 19:59:53 +02:00
Max Inden ffc7ae0d5f
fix(perf): replace rust-libp2p-quinn/ with rust-libp2p/master (#246)
With https://github.com/libp2p/rust-libp2p/pull/3454 merged we can now test the
new rust-libp2p QUIC implementation based on upstream quinn directly from
rust-libp2p `master`.

This commit does the following in libp2p/test-plans:

1. Remove the `perf/impl/rust-libp2p-quinn` implementation.
2. Introduce the `perf/impl/rust-libp2p/master` version of the rust-libp2p implementation.

We can promote the latter to a proper version on the next rust-libp2p release.
2023-08-01 16:40:02 +02:00
Max Inden cdf7820037
refactor(perf): expose single latency measurement (#207) 2023-06-26 10:35:44 +02:00
Max Inden 53ff8b5db1
feat(perf): add (automation, provision, build, run) tooling (#184)
This project includes the following components:

- `terraform/`: a Terraform scripts to provision infrastructure
- `impl/`: implementations of the [libp2p perf
  protocol](https://github.com/libp2p/specs/blob/master/perf/perf.md) running on
  top of e.g. go-libp2p, rust-libp2p or Go's std-library https stack
- `runner/`: a set of scripts building and running the above implementations on
  the above infrastructure, reporting the results in `benchmark-results.json`

Benchmark results can be visualized with
https://observablehq.com/@mxinden-workspace/libp2p-performance-dashboard.

Co-authored-by: Marco Munizaga <git@marcopolo.io>
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
Co-authored-by: Piotr Galar <piotr.galar@gmail.com>
2023-06-22 13:54:09 +02:00