11.01.2015 Views

How to Benchmark Code Execution Times on Intel IA-32 and IA-64 ...

How to Benchmark Code Execution Times on Intel IA-32 and IA-64 ...

How to Benchmark Code Execution Times on Intel IA-32 and IA-64 ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<str<strong>on</strong>g>How</str<strong>on</strong>g> <str<strong>on</strong>g>to</str<strong>on</strong>g> <str<strong>on</strong>g>Benchmark</str<strong>on</strong>g> <str<strong>on</strong>g>Code</str<strong>on</strong>g> <str<strong>on</strong>g>Executi<strong>on</strong></str<strong>on</strong>g> <str<strong>on</strong>g>Times</str<strong>on</strong>g> <strong>on</strong> <strong>Intel</strong> ® <strong>IA</strong>-<strong>32</strong><br />

<strong>and</strong> <strong>IA</strong>-<strong>64</strong> Instructi<strong>on</strong> Set Architectures<br />

Both the variance of variances <strong>and</strong> the variance of the minimum values are zero.<br />

This means that this improved benchmarking method is completely ergodic<br />

(between different ensembles the maximum fluctuati<strong>on</strong> of the variance is 1 clock<br />

cycle <strong>and</strong> the minimum value is perfectly c<strong>on</strong>stant). This is the most important<br />

characteristic that we need for a method <str<strong>on</strong>g>to</str<strong>on</strong>g> be suitable for benchmarking<br />

purposes.<br />

For completeness, Figure 3 <strong>and</strong> Figure 4 show the same graphic analysis as d<strong>on</strong>e<br />

above in Secti<strong>on</strong> 3.2.1.<br />

Figure 3. Minimum Value Behavior Graph 3<br />

graph3<br />

50<br />

45<br />

40<br />

35<br />

clock cycles<br />

30<br />

25<br />

20<br />

minimum value<br />

15<br />

10<br />

5<br />

0<br />

1 54 107 160 213 266 319 372 425 478 531 584 637 690 743 796 849 902 955<br />

ensembles<br />

19

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!