Skip to content

Conversation

DanCodedThis
Copy link
Contributor

@DanCodedThis DanCodedThis commented Sep 25, 2025

Closes #1760

  • Experiment: removed dedicated executor in favor of one vanilla tokio runtime
  • This is a test to determine and work towards if two global runtimes (io & cpu) would be feasible
  • Also this may fix the memory issues (since the DedicatedExecutor seems to not use memory pools)
  • And by removing extra runtimes increase performance
    • By removing the overhead of many runtime switches
    • Removing the tokio threads > physical threads problem
  • May require some tinkering (what is the default worker thread pool of tokio runtime?)

Copy link
Contributor

SLT Targeted Testing: No relevant SLT tests found for the changes in this PR. No testing required.

@DanCodedThis DanCodedThis marked this pull request as draft September 25, 2025 17:42
})
.await
.context(ex_error::JobSnafu)??;
let stream = tokio::task::spawn(async move {
Copy link
Contributor

Choose a reason for hiding this comment

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

why even call tokio::task::spawn(async move?
already async

Copy link
Contributor Author

@DanCodedThis DanCodedThis Sep 25, 2025

Choose a reason for hiding this comment

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

tokio::task::spawn should schedule it on one of the worker threads

Or are you talking about the scope/block itself being async? If so, I just removed the dedicated executor, and haven't changed anything else

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

engine: Vanilla one tokio runtime

2 participants