-
-
Notifications
You must be signed in to change notification settings - Fork 3
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
Optimized threadpool #12
Comments
I have a couple questions about the design of the threadpool that somewhat tie into potential future optimizations too: |
No real reason for it. The project is still very early on and some features will get polished over time. The current idea was getting something reasonable done that would suit the needs of the project and could be built upon later (e.g. parallel/async execution will need to be supported natively by querries at some point). Getting a threading API right is not something that is done over night. I am expecting things to change as the project evolves and adapts to various needs which users have. Any suggestions are welcome, of course. |
That's fair! I do think it would be interesting and potentially useful to make the threadpool more flexible like that (by not forcing it to be a singleton), but at that point it's not necessarily in service of the ECS exclusively, and it also makes it easier for users to misuse it, so a bit of a trade-off. |
Ability to properly use multiple CPU groups and also big.little architectures is one of the goals. Some groundwork has already been laid in 0.8.4 via introduction of task priorities (high for perf cores, low for eco cores or downclocked perf cores). This makes use of QoS on platforms that support it (win, macos) and scheduling priorities where it is not. In the future I would like to build on this system further. |
No description provided.
The text was updated successfully, but these errors were encountered: