-
Notifications
You must be signed in to change notification settings - Fork 73
wip: python perf #808
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
wip: python perf #808
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
Perf test run report: perf-56235a68-035857-01-02-2026Run: perf-56235a68-035857-01-02-2026 Summary: 39 total (3 baseline + 36 main) → 27 passed, 12 failed. 1. Tests passed (brief)Baselines (3/3)
Main tests (24/36)
2. Tests failed: reason and relevant logs2.1 python-v0.x x rust-v0.56 (tcp, noise, yamux)Reason: Rust listener closes the connection with KeepAliveTimeout during the first upload. Python dialer then hits Stream is closed / StreamReset while sending. Relevant log excerpts: 2.2 python-v0.x x rust-v0.56 (tcp, noise, mplex)Reason: All 10 upload iterations complete; then Rust listener closes with KeepAliveTimeout before the download phase. Python dialer then fails the first download with Expected to receive 1073741824 bytes, but received 0. Relevant log excerpts: 2.3 python-v0.x x rust-v0.56 (tcp, tls, yamux)Reason: Same as 2.1 — Rust KeepAliveTimeout, then Python Stream is closed / StreamReset during upload. Relevant log excerpts: 2.4 python-v0.x x rust-v0.56 (ws, noise, yamux)Reason: Same as 2.1 — Rust KeepAliveTimeout, then Python Stream is closed / StreamReset during upload. Relevant log excerpts: 2.5 python-v0.x x rust-v0.56 (ws, noise, mplex)Reason: Same pattern as 2.2 — uploads complete, Rust closes with KeepAliveTimeout, then Python fails download with Expected to receive 1073741824 bytes, but received 0. Relevant log excerpts: 2.6 python-v0.x x rust-v0.56 (ws, tls, yamux)Reason: Same as 2.1 — Rust KeepAliveTimeout, then Python Stream is closed / StreamReset during upload. Relevant log excerpts: 2.7 python-v0.x x rust-v0.56 (quic-v1)Reason: Python dialer opens a stream but Rust does not support the protocol Python uses for the initial handshake: protocol not supported: /ipfs/id/1.0.0, response='na'. The stream is then reset; Python later gets cannot call write() after reset() during upload. Relevant log excerpts: 2.8 python-v0.x x python-v0.x (tcp, noise, yamux)Reason: Test timed out after 300s. Python yamux throughput is low (~0.19 Gbps); 20 × 1 GB iterations exceed the runner timeout. Relevant log excerpts: 2.9 python-v0.x x python-v0.x (tcp, tls, yamux)Reason: Same as 2.8 — Test timed out after 300s (Python yamux slow, 20 × 1 GB exceeds 300s). Relevant log excerpts: 2.10 python-v0.x x python-v0.x (ws, noise, yamux)Reason: Same as 2.8 — Test timed out after 300s. Relevant log excerpts: 2.11 python-v0.x x python-v0.x (ws, tls, yamux)Reason: Same as 2.8 — Test timed out after 300s. Relevant log excerpts: 2.12 python-v0.x x python-v0.x (quic-v1)Reason: Listener (py-libp2p) cannot send on the peer-initiated stream: Cannot send data on unknown peer-initiated stream. Upload phase completes (10/10); first download fails because the listener never sent the response, so the dialer gets Expected to receive 1073741824 bytes, but received 0. Relevant log excerpts: Report generated from perf run perf-56235a68-035857-01-02-2026. |
testing new python perf module in interop