[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
The need for speed.
The speed of code compiled is good when speed=3 and safety=0.
I just tried an example in which it was 20 times faster than
interpreted code, and in some cases 30 times faster.
However, when safety was 3, compiled code was only twice as fast as
interpreted. This was rather disappointing, and intermediate values
of safety / speed didn't give me intermediate amounts of backtrace
information nor, it seemed, of efficiency.
What seems to happen when safety=3 is that every call pushes
a catch frame.
What (I think) I'd like is an intermediate speed/safety (space?)
setting that recorded calls on the invocation history stack (funcall
instead of funcall_no_event, say) but without pushing catch frames.
Also, the code for recording argument lists for use when debugging
compiled code doesn't work in 1-505. The information is there
after compilation but not when the compiled code is loaded into
a clean environment.