Commit Graph

21 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
Alex Potsides 7fab93f625
fix: update js-libp2p perf to include v1 release (#336)
Update deps to non-next versions.

---------

Co-authored-by: achingbrain <achingbrain@users.noreply.github.com>
2023-12-04 13:30:59 +00:00
Alex Potsides 9a4c969523
fix: re-enable js-libp2p under node.js (#325)
Adds perf tests for js-libp2p 0.46.x and 1.0 (via the `next` tag).

---------

Co-authored-by: achingbrain <achingbrain@users.noreply.github.com>
2023-11-21 08:22:56 +00: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
Chad Nehemiah a96d930eb4
fix(perf): re-introduce js-libp2p + add encryption (#299) 2023-09-14 18:49:46 +02:00
github-actions[bot] 09d15c0e8b
chore: add go-libp2p@v0.31.0 to perf/impl/go-libp2p (#295)
* chore: add go-libp2p@v0.31.0 to perf/impl/go-libp2p

* perf: update benchmark results

---------

Co-authored-by: galargh <galargh@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-04 11:28:35 +02:00
Piotr Galar 353e2db77c
fix: how new go-libp2p versions are added to perf (#294) 2023-09-04 09:40:32 +02:00
Piotr Galar 2980863ebc
feat: automate adding new go-libp2p versions to perf (#256)
* feat: automate adding new go-libp2p versions to perf

* fix: put add-new-impl-versions.yml on schedule
2023-09-02 10:16:35 +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 a68c19699e
Revert "feat(perf): add js-libp2p NodeJS (#244)" (#292)
This reverts commit c39bfb9b32.

Reverting due to https://github.com/libp2p/test-plans/issues/291. Can revert
revert once resolved.
2023-09-01 19:58:31 +02:00
Chad Nehemiah c39bfb9b32
feat(perf): add js-libp2p NodeJS (#244)
Co-authored-by: Max Inden <mail@max-inden.de>
2023-08-25 11:09:01 +02:00
Max Inden d1ff642e9b
fix(perf): remove obsolete quinn build infra (#274)
Implementation has been removed with https://github.com/libp2p/test-plans/pull/246.
2023-08-24 15:08:23 +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 35eb403b2d
feat(perf): add go-libp2p v0.29 (#242) 2023-07-26 14:01:46 +02:00
Max Inden 67960902e8
feat(perf/go-libp2p): add v0.28.1 (#209) 2023-06-27 03:24:19 +02:00
Max Inden cdf7820037
refactor(perf): expose single latency measurement (#207) 2023-06-26 10:35:44 +02:00
Max Inden b1cfea4f52
fix(perf/go-libp2p): close write after sending in client (#205)
Follow up to https://github.com/libp2p/test-plans/pull/184.
2023-06-23 03:43:06 +02:00
Max Inden 2ddea6a139
fix(perf/https): request downloadBytes instead of uploadBytes (#203) 2023-06-22 14:49:42 +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