[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Quoth Dan Sugalski on Tuesday, 11 December:
: There's a difference there. 

Aye, there is a difference between run-time laziness, accomplished by 
run-time analysis, and instruction scheduling, accomplished by static
analysis. But it is not a binary distinction, rather a distinction of 
degree.  There's a continuum between dynamic and static analyses,
evidenced in JIT.  I was thinking specifically of the case of run-time
instruction scheduling, one famous instance of which is "code
morphing", a la style de Transvirtual, and it's abstraction to
asynchronous I/O operations in a VM.

: Oliver's right. If you have to pay a constant cost per value to see if 
: you're going to use the value, and you use all the values, you're 
: guaranteed to lose.

That's true even in the case of static analysis, if there is no
scheduling benefit to be derived.  It's a little more interesting when
there is a scheduling benefit.