Urs.Hoelzle at Eng.Sun.COM
Fri Aug 21 23:55:29 UTC 1992
Richard> Why does Self require so much memory?
1. Because we trade space for speed in certain places ("memory is
2. Because we have not optimized things for space. I.e. we know
how to reduce the size of the code space and the object heap
by around a factor of two, but we just haven't gotten around to
implementing this space engineering.
Richard> The Self UI runs somewhat slowly. The performance benchmarks
Richard> quoted in the various Self documents would make me think the
Richard> UI would be quite snappy.
Richard> Why isn't it?
1. Because the compiler(s) are sometimes slow (that's why things run
slower the first time you do them).
2. Because the compilers aren't perfect (yet :-). Note that we do
not claim that *all* Self programs are x% of C - just the
benchmarks. Also, the default system does *not* use the optimizing
compiler for all compilations. Rather, it compiles unoptimized
code first (to reduce compile pauses) and reoptimizes later when
it sees that some code is frequently used. Unfortunately, the
system doesn't always recompile the right thing, so the resulting
code may be slower than if it had been compiled in optimizing mode
the first time.
Richard> I am a fan of Scheme and its functional syntax. Could a
Richard> functional "front end" be written for Self? Not necessarily
Richard> Scheme compatible, just "lisp-ish".
I guess it could...just try it! :-)
PS: We're actively working on both the space and the speed problems!
More information about the Self-interest