<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
Hi Bert,<BR>&nbsp;<BR>
&gt; From: bert@freudenbergs.de<BR>&gt; To: squeak-dev@lists.squeakfoundation.org<BR>&gt; Subject: Fast bytecode loader (was Re: [squeak-dev] Re: Squeak vision)<BR>&gt; Date: Thu, 16 Jul 2009 13:40:12 +0200<BR>&gt; <BR>&gt; On 14.07.2009, at 03:01, osp@aloha.com wrote:<BR>&gt; <BR>&gt; &gt; Maybe it is just me, but "a fast bytecode package loader, without <BR>&gt; &gt; the need<BR>&gt; &gt; to compile Smalltalk code" combined with "such feature could make life<BR>&gt; &gt; easier to third party Etoys developer and eventually attract more of <BR>&gt; &gt; them<BR>&gt; &gt; to Etoys" sounds like an endorsement of closed-source commercial <BR>&gt; &gt; EToys.<BR>&gt; <BR>&gt; No, that's is a severe misunderstanding you construct here.<BR>&gt; <BR>&gt; &gt; If<BR>&gt; &gt; commercial success is not the attraction, what is? Faster initial load<BR>&gt; &gt; time? Reduced file transfer size? Perhaps I assumed too much.<BR>&gt; <BR>&gt; <BR>&gt; Yes, both of these. The scenario we care most about is the one million <BR>&gt; kids using XO laptops. These machines are under-powered compared to <BR>&gt; recent PCs, and have rather little main memory. It's infeasible to <BR>&gt; have one image with all the extensions to Etoys, because the whole <BR>&gt; image is loaded into RAM. It would be very nice if these add-ons could <BR>&gt; be delivered as separate packages and loaded on demand.<BR>&gt; <BR>&gt; That's what the current Dr Geo II package is doing. But it is slow, <BR>&gt; because all the code is compiled to byte code when loading the <BR>&gt; package. The Squeak byte code compiler has not exactly been optimized <BR>&gt; for speed, because in usual development you only compile a method at a <BR>&gt; time. In any case, the *result* of loading a package that includes <BR>&gt; both source code and byte code would be exactly the same as compiling <BR>&gt; the source code, but way faster.<BR>&gt; <BR>&gt; This could also be used to speed up package loading in general. In <BR>&gt; fact, this would make the concept of "libraries" feasible in Squeak - <BR>&gt; packages loaded on demand. Think about pre-compiled lisp modules, or <BR>&gt; the .pyc files generated from .py Python files for speed. Note I'm not <BR>&gt; advocating this for Squeak but it would make it technically feasible.<BR>&gt; <BR>&gt; It's just not exactly trivial to do in a robust way. At the very <BR>&gt; least, all global references in the compiled methods will have to be <BR>&gt; updated. This includes classes which have to be referenced, Symbols <BR>&gt; need to get interned and unified. The source could be appended to the <BR>&gt; changes file and source pointers incremented, or the source could <BR>&gt; remain in separate files but we'd need a new source code scheme for <BR>&gt; that.<BR>&gt; <BR>&gt; I think this all would be immensely useful in the long run, but truth <BR>&gt; is we have been getting by without for so long that there just does <BR>&gt; not seem to be anybody both motivated and skilled enough to do it.<BR><BR>
I was under the impression that Spoon does this.<BR>
i.e. loading Classes/Methods without compilation.<BR>
&nbsp;<BR>
Cheers,<BR>
Andy<BR>
&nbsp;<BR>
&gt; <BR>&gt; - Bert -<BR>&gt; <BR>&gt; <BR>&gt; <BR><BR><br /><hr />Beyond Hotmail - see what else you can do with Windows Live. <a href='http://clk.atdmt.com/UKM/go/134665375/direct/01/' target='_new'>Find out more.</a></body>
</html>