This is just a curious thought:

happened to read
http://www.arstechnica.com/reviews/1q00/dynamo/dynamo-1.html which makes
the very interesting point that optimizingcompilers have a difficult job
given that they don't know the relative importances of various paths of
execution through the program under typical runs (and in particular the
extreme case that a particular path never happens but which isn't
statically detectable at compile time, only run-time) but that a run-time
reoptimizer can detect and take advantage of this to a useful degree. It
looks a bit beyond JIT compilation since it takes advantage of run-time
trace information and different to partial evaluation since there's no
looking at how the fixed input simplifies the high level source, only what
paths through the executable code happen frequently.

I'm just curious if there's anyone in the Haskell/FP community working on
such things? (The closest thing I'm aware of is David Lester's stuff on
throw away compilation (sorry no pointer)) It just seems that functional
languages are an area where it's particularly true that the actual
run-time patterns of execution may be a tiny subset of the `worst-case
compile time range of execution paths'. Or is it the case that it's likely
that a general binary reoptimizer will work equally well with code
compiled from all languages?

___cheers,_dave________________________________________________________
www.cs.bris.ac.uk/~tweed/pi.htm|ALERT: you are communicating with an
email: [EMAIL PROTECTED]     |unsavoury individual with a copy of gdb
work tel: (0117) 954-5253      |who reverse-engineered a file format.


Reply via email to