libp2p / libp2p/test-plans

perf: add py-libp2p v0.6 implementation

Open
#845 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
65
Forks
82
PR merge metrics
No merged PRs in 30d

Description

## Summary

Add a **py-libp2p** perf implementation under `perf/impl/py-libp2p/v0.6/` so the test-plans perf runner can benchmark Python alongside Go, JS, Rust, etc.

## Scope

- CLI aligned with existing perf binaries (`--run-server`, `--server-address`, `--transport`, `--upload-bytes`, `--download-bytes`; JSON on stdout, logs on stderr).
- `Makefile` builds/runs via pinned py-libp2p + venv (see impl README).
- Wire `py-libp2p` in `perf/impl/Makefile`, `runner/versionsInput.json`, `runner/src/versions.ts`, and `runner/src/index.ts` test-filter allow-list.
- Top-level `perf/README.md` updates as needed.

## Notes

- TCP and QUIC transport stacks per `versionsInput.json` / runner config.
- QUIC may need harness-level workarounds until py-libp2p core catches up; documented in impl README where relevant.

---

*PR will reference this issue.*

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by comparing existing implementations under perf/impl and read the runner wiring in perf/impl/Makefile, runner/versionsInput.json, runner/src/versions.ts, and runner/src/index.ts. Add the v0.6 py-libp2p implementation with its Makefile and README, then confirm the CLI, JSON output, transports, runner integration, and top-level perf/README.md updates match the stated scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
distributed-systems, performance, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.