Skip to content
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

Yield once to VM per quantum, another thread prio crate, some timings, use condvar instead of crossbeam; no improvements #128

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

orottier
Copy link
Collaborator

Not really sure what to make out of all this. My CPU load goes down by a factor 2 but now my real-time issues are back.

Leaving this here for further consideration, my advices would be:

  • keep padenot's thread prio crate, it looks solid
  • keep the condvar, more lightweight than crossbeam and also some code improvements
  • remove the tick processor and still yield to V8 continuously (old behaviour) - somehow my mac seems to go in deep sleep if the worker thread has nothing to do and may wake up only milliseconds later?

@b-ma
Copy link
Collaborator

b-ma commented May 28, 2024

Hey, thanks

I will need to have a closer look (and play a bit with CondVar in a more simple setup I guess :) to understand your changes more clearly.

now my real-time issues are back....

Weird cannot reproduce on my side, I tried to have a quick look to libuv issues and docs but couldn't find any mention of some dynamic priority management of the threads, so the mystery still holds...

In any case, I agree with your recommendations, having no clicks is far more important than having this one per quantum tick! This can clearly wait for clean solution

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.

2 participants