連結已複製
3 回應
Hi,
That's exactly what I meant.
I tried the following things with the routine that I wanted to have constant execution time:
1. Put it in kernel mode of Windows XP running at the highest IRQL (31) -> only be interrupted by NMI
2. The routine contains a loop which repeats 10 times the same task: processing data and measuring CPU clock cycle. I take the last measurement as the final result.
3. On P4 with Hyperthreading, I made the second logical processor get stuck in a spin loop while the other processor was processing the routine.
With those things, I could achieve 99.99% constant execution time for the routine on all Celerons and Pentiums except Pentium 4 (with or without HyperThreading).
On P4,the measurement result constantly fluctuates in some range, though small.
Thanks!
That's exactly what I meant.
I tried the following things with the routine that I wanted to have constant execution time:
1. Put it in kernel mode of Windows XP running at the highest IRQL (31) -> only be interrupted by NMI
2. The routine contains a loop which repeats 10 times the same task: processing data and measuring CPU clock cycle. I take the last measurement as the final result.
3. On P4 with Hyperthreading, I made the second logical processor get stuck in a spin loop while the other processor was processing the routine.
With those things, I could achieve 99.99% constant execution time for the routine on all Celerons and Pentiums except Pentium 4 (with or without HyperThreading).
On P4,the measurement result constantly fluctuates in some range, though small.
Thanks!
