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

Commit id: 884192cb32790700f3b8c898c83674e3ce8804b5

deletions | additions      

       

For open OSR points, we report the time spent in inserting the OSR point in the original function and in generating the stub; both operations do not depend on the size of the function. For resolved OSR points, we report the time spent in inserting the OSR point and in generating the continuation function.  Not surprisingly, constructing such function takes longer than the other operations, operations (i.e., up to 1 ms vs. 20-40 us),  as it involves cloning and manipulating the body of the target function - that is the source function itself - as described in Section {\bf XXX}; as the time spent in it depends on the size of the function, the table contains an additional column in which time is normalized against the number of IR instructions in its body. the function.  \begin{table}   \begin{small} 

\end{small}  \end{table}  \paragraph{Discussion} Experimental results presented in this section suggest that inserting an OSR point is unlikely to degrade the quality of generated code, and the time required to fire an OSR transition is negligible (i.e., order of nanoseconds). Instrumenting the original IR is cheap, while the cost of generating a continuation function - either when inserting a resolved OSR point, or from the callback method invoked at an open OSR transition - is likely to be dominated by the cost of its compilation. [...]