[Python-Dev] Reworking the GIL
Sturla Molden
sturla at molden.no
Mon Nov 2 15:22:02 CET 2009
Sturla Molden skrev:
>
> I would turn on multimedia timer (it is not on by default), and
> replace this
> call with a loop, approximately like this:
>
> for (;;) {
> r = WaitForMultipleObjects(2, objects, TRUE, 0);
> /* blah blah blah */ QueryPerformanceCounter(&cnt); if (cnt >
> timeout) break;
> Sleep(0);
> }
And just so you don't ask: There should not just be a Sleep(0) in the
loop, but a sleep that gets shorter and shorter until a lower threshold
is reached, where it skips to Sleep(0). That way we avoid hammering om
WaitForMultipleObjects and QueryPerformanceCounter more than we need.
And for all that to work better than just giving a timeout to
WaitForMultipleObjects, we need the multimedia timer turned on.
Sturla
More information about the Python-Dev
mailing list