MC in basic
lattam at mac.com
Tue Dec 14 17:14:32 UTC 2004
On Dec 14, 2004, at 7:13 AM, stéphane ducasse wrote:
>>> What exactly is 'slower'? Compiling, or compiled code? The former,
>>> is less
>>> of an issue unless doing image reworks. (Installing veiny packages,
>> Its actually much bigger than that, although that's probably a big
>> issue by itself.
>> If you change (add and/or remove) an instance variable in a class, it
>> recompiles all the methods in that class and all the subclasses. For
>> complex class hierarchies, that can take a long time even with the
>> compiler. I can't imagine this taking 3x longer...
> But with the possibility that I explained (late binding of method
> then you will only compile the methods when you call them and only
> once at that time.
That kind of unpredictable delay caused by dynamic compilation needs to
be treated very carefully. In particular when working with multi-media
applications. There would need to be a way to tell the system to go
compile everything that needs it, or you need to be able to guarantee
that he compilation can be done with uniform delay. The JITs can
always fall back on interpreting to get uniformity, but in this case we
are talking about source to binary. I think this is VERY dangerous for
any end-user experience of the system. It is tolerable for developers,
but not end-users. We have something similar in my day-job and it
produces no end of complaints for delays at unexpected places. It
makes the whole system feel slow, rather than the slowdown happening
when you can take a coffee break.
More information about the Squeak-dev