Commit graph

20 commits

Author SHA1 Message Date
Henrik Rydgård
59a56d66c7 Add a "reason" argument to sleep_ms().
sleep_ms() should generally be avoided when possible. This can be used to try
to track down unnecessary sleeps by adding some logging.

This commit on its own doesn't actually add any logging.
2024-11-21 15:28:51 +01:00
Henrik Rydgård
fa5ec667ef Add new TimeSpan class for more accurate timing.
Minimizes the amount of value conversions and performs subtractions in
integer space.
2024-06-05 12:38:39 +02:00
Henrik Rydgård
ce83fec206 Linux buildfix attempt 2023-10-29 23:39:25 -06:00
Unknown W. Brackets
88ba003f46 ThreadManager: Add a simple priority field.
Currently, not actually respected.
2023-02-02 17:08:24 -08:00
Unknown W. Brackets
f44852bb18 Global: Cleanup virtual/override specifiers.
Also missing virtual destructors, hidden non-overrides, etc.
2022-12-10 21:13:36 -08:00
Henrik Rydgård
d1e2b19ebb Make the number of threads flexible in the threadmanager test. Increase to 9, just because. 2022-04-10 22:39:42 +02:00
Henrik Rydgård
bde54ccdc0 Fix misuses of cond.wait (should return true when you want to stop waiting!) 2022-04-08 12:28:45 +02:00
Henrik Rydgård
5b20ace502 OK, this does crash 2022-04-08 12:04:34 +02:00
Henrik Rydgård
e0f73507f9 Time the stress test 2022-04-08 11:55:49 +02:00
Henrik Rydgård
b04e5925d2 Add a scheduling stress test to TestThreadManager.cpp.
Was hoping to find the cause of the issue I looked at in #15431
2022-04-08 11:41:50 +02:00
Unknown W. Brackets
7099df6619 unittest: Skip D3D shader compile on non-Windows.
Tests were just failing before.
2022-01-29 14:07:26 -08:00
Henrik Rydgård
4f85b8b2ef Threading: Remove a level of indirection from Promise and Mailbox.
Makes using small copyable or POD objects in these more efficient, and if you want
to you can just put a pointer or smart pointer in there, which will
effectively do the same thing as the old setup.
2021-11-20 22:40:10 +01:00
Henrik Rydgård
6d634f0c96 Mailbox: Address feedback 2021-06-13 11:27:12 +02:00
Henrik Rydgård
e7b3afbc7a Minor cleanups 2021-06-13 10:28:27 +02:00
Henrik Rydgård
81f0c3a8e4 Address feedback (except the mailbox refcount) 2021-06-13 10:16:53 +02:00
Henrik Rydgård
50d9d7ea6f Unittest buildfixes on mac 2021-06-12 22:42:10 +02:00
Henrik Rydgård
5b64a41a97 ParallelLoop: A bit smarter straggler handling. 2021-06-12 22:04:55 +02:00
Henrik Rydgård
3be5c7bd9a Make the minimum items per thread explicit. Found some bugs, optional arguments are evil. 2021-06-12 21:21:28 +02:00
Henrik Rydgård
0fa27ff9d7 Autodetect number of threads (remove setting). Fix some bugs. 2021-06-12 21:06:59 +02:00
Henrik Rydgård
73871b9b7e Implement new thread manager, port stuff to it. 2021-06-12 13:03:53 +02:00