Daniele Cono D'Elia edited experim.tex  over 8 years ago

Commit id: 098865cb224953c24612506cb194780eba807d91

deletions | additions      

       

For {\tt b-trees} - the only benchmark in our suite showing a recursive pattern - we insert an OSR point in the body of the method that accounts for the largest {\em self} execution time of the program. Such an OSR point might be useful to trigger recompilation of the code at a higher degree of optimization, or to enable some form of dynamic optimization (for instance, in a recursive search algorithm we might want to inline the comparator method provided by the user at the call).    \paragraph{Overhead of OSR transitions}  In this [...]  \begin{table}   \begin{tabular}{ |c|c|c|c| }  \hline  Benchmark & Fired OSR transitions & Live values & Avg time (ns) \\   \hline  \hline  b-trees & 605377887 & 2 & 3.057 \\   \hline  b-trees-large & 2689946975 & 2 & 2.986 \\   \hline  fannkuch & ??? & ??? & ??? \\   \hline  fasta & 400000000 & 2 & 3.039 \\   \hline  fasta-redux & 400000000 & 4 & 2.566 \\   \hline  mbrot & 256000000 & 15 & 6.553 \\   \hline  mbrot-large & 1024000000 & 15 & 6.345 \\   \hline  n-body & 50000000 & 3 & 2.543 \\   \hline  n-body-large & 500000000 & 3 & 2.329 \\   \hline  rev-comp & 6172843 & 8 & 3.589 \\   \hline  sp-norm & 1210000000 & 2 & 0.752 \\   \hline  sp-norm-large & 19360000000 & 2 & 0.756 \\  \hline  \end{tabular}   \caption{\label{tab:sameFun} Cost of an OSR transition to the same function.}   \end{table}