eta: 2023Q2 - [ ] perf protocol - [x] spec https://github.com/libp2p/specs/pull/478 - [x] https://github.com/libp2p/rust-libp2p/pull/3508 (rust-libp2p) - [x] go-libp2p https://github.com/libp2p/test-plans/pull/184 - [x] https://github.com/libp2p/js-libp2p/pull/1604 (js-libp2p) - [x] https://github.com/libp2p/test-plans/issues/261 - [ ] #204 - [ ] Create performance tooling to run perf protocol implementation on cloud instances - [x] First iteration https://github.com/libp2p/test-plans/pull/184 - [x] Only use a single seconds measurement. Don't split in connection establishment, upload and download. These are difficult to differentiate. https://github.com/libp2p/test-plans/pull/207 - [x] Add js-libp2p https://github.com/libp2p/js-libp2p/pull/1604 https://github.com/libp2p/test-plans/pull/244 - [ ] Add back zig-libp2p - [ ] Run iperf on both UDP *and* TCP - [ ] Requests per second (for some request/response protocol) - [ ] Handshakes per second (useful to identify overhead in connection initialization). - [ ] Support testing other security protocols, i.e. Noise - [ ] Resource utilization benchmark? - [ ] Don't blindly trust server and clients ssh key (mitm attack) - [x] Automation see https://github.com/libp2p/test-plans/issues/183 - [x] Visualize data emitted by above performance tooling #156 - [x] ideally mirror advanced filtering in the URL for better sharing - [ ] https://github.com/libp2p/test-plans/issues/27 - [x] https://github.com/libp2p/test-plans/issues/65 - [ ] https://github.com/libp2p/blog/issues/74 - [ ] Diverse benchmarks e.g. multiple streams or multiple connections - [ ] Write documentation
eta: 2023Q2
perfspec specs#478