Skip to content

Conversation

@rklaehn
Copy link

@rklaehn rklaehn commented Dec 18, 2025

Description

Allow configuring the runtime type in the bulk bench

Also switch the default to the multithreaded runtime. I think that is more representative of actual use.

I mostly need this to compare the two runtimes. Currently the current thread runtime is faster, which is very unintuitive, since we are doing absolutely everything on one thread, send, recv, encrypt, decrypt.

Breaking Changes

None

Notes & open questions

Also switch the default to the multithreaded runtime. I think that is more
representative of actual use.
@github-actions
Copy link

github-actions bot commented Dec 18, 2025

Documentation for this PR has been generated and is available at: https://n0-computer.github.io/quinn/pr/280/docs/iroh_quinn/

Last updated: 2025-12-19T15:00:26Z

@codecov-commenter
Copy link

codecov-commenter commented Dec 18, 2025

Codecov Report

❌ Patch coverage is 0% with 21 lines in your changes missing coverage. Please review.
✅ Project coverage is 76.47%. Comparing base (4dcb3a7) to head (225bd3e).
⚠️ Report is 32 commits behind head on main.

Files with missing lines Patch % Lines
bench/src/lib.rs 0.00% 19 Missing ⚠️
bench/src/bin/bulk.rs 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #280      +/-   ##
==========================================
- Coverage   76.69%   76.47%   -0.22%     
==========================================
  Files          83       83              
  Lines       23241    23352     +111     
==========================================
+ Hits        17824    17858      +34     
- Misses       5417     5494      +77     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@n0bot n0bot bot added this to iroh Dec 18, 2025
@github-project-automation github-project-automation bot moved this to 🏗 In progress in iroh Dec 18, 2025
@flub flub added the performance Things that might improve performance both for iroh and as a normal QUIC library. label Dec 22, 2025
@flub flub requested a review from matheus23 December 22, 2025 11:34
@flub
Copy link
Collaborator

flub commented Dec 22, 2025

@matheus23 could you review this please?

Comment on lines +223 to +225
/// The runtime type to use
#[clap(long, default_value = "tokio")]
pub runtime_type: RuntimeType,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In iroh-bench I'm doing some very similar changes, can we align on them? There, I allow configuring the amount of worker threads per endpoint.
IMO this is slightly better than configuring all endpoints to have a multi-threaded runtime, since then you'd be putting multiple full-sized tokio runtimes into a single process.
I've added an admittedly somewhat hacky fallback there where setting --workers-per-ep=0 will use the normal multi-threaded runtime.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

performance Things that might improve performance both for iroh and as a normal QUIC library.

Projects

Status: 🏗 In progress

Development

Successfully merging this pull request may close these issues.

5 participants