<br><br><div class="gmail_quote">On Thu, Feb 12, 2009 at 11:55 AM, Andreas Raab <span dir="ltr">&lt;<a href="mailto:andreas.raab@gmx.de">andreas.raab@gmx.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="Ih2E3d"><br>
Eliot Miranda wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Let me further suggest that 2) is pointless, in that it can&#39;t scale beyond the 32-bit address space but uses about 1.5 times the space of a 32-bit image as it tries to do so. &nbsp;i.e. it&#39;ll fail a lot earlier than a 32-bit image. &nbsp;Further, if a 64-bit image is larger than will fit in a 32-bit address space one *cant* run it on 2 because it won&#39;t fit. <br>

</blockquote>
<br></div>
It is not pointless at all. If we were to switch our servers to 64 bit images while allowing customers to deploy on 32bit, we&#39;d be nuts trying to manage both 32 and 64 bit versions of the same image and trying to keep them in sync. Much easier to give them a 32bit VM that can run the very same 64 bit image that we use everywhere.</blockquote>
<div><br></div><div>I respectfully disagree. &nbsp;The VisualWorks 32-bit to 64-bit converter produces something one can deploy immediately. &nbsp;So its not difficult to keep the two in sync. &nbsp;One merely passes the 32-bit image through the converter and fires up the 64-bit image. &nbsp;Saving the 64-bit image can save you a bit of start-up time, so is worth-while doing. &nbsp;Both these processes can be wrapped up in a shell script and run without user intervention. &nbsp;So to keep the 64-bit image in sync with a 32-bit one is easy. &nbsp;So 2) still strikes me as pointless.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">In addition, it is this very combination that allows people without 64bit boxes to actually help in working out the quirks with the 64bit images. I don&#39;t think we would have gotten where we are without it.</blockquote>
<div><br></div><div>I don&#39;t want to be sarcastic, but that doesn&#39;t seem to be very far. &nbsp;From Bert I get the sense that no-one is actually using 64-bit Squeak images (he just said as much). &nbsp;The Squeak 64-bit image format is not particularly ambitious. &nbsp;It doesn&#39;t give one wider SmallInteger range, more identity hash bits, larger objects, more literals in a method or faster floats, or immediate characters. &nbsp;It is as naive a conversion to 64-bits as one can imagine. &nbsp;I don&#39;t see that the rather conservative approach taken with the 64-bit VM has produced something particularly compelling. &nbsp;Note that a memory-bound 64-bit Smalltalk application that can&#39;t take advantage of 64-bits to speed-up computation (as for example immediate doubles do) simply uses twice the memory bandwidth to accomplish exactly the same thing as a 32-bit application, and so if memory-limited (doesn&#39;t fit in cache) can run twice as slow. &nbsp;The only advantage such a 64-bit system has is in being ale to instantiate more objects.</div>
<div><br></div><div>VisualWorks&#39; 64-bit implementation on the other hand provides immediate doubles that have performance only 1/2 that of SmallIntegers, provides 61-bit SmallIntegers and 20-bit id hashes vs 14 bits, much faster at: and at:put:, and is being used by&nbsp;customers using images &gt; 4Gb in production. &nbsp;I think its got a lot further, and it didn&#39;t waste effort with 2) in doing so. &nbsp;So that&#39;s an existence proof that 2) doesn&#39;t help.</div>
<div><br></div><div>Again Im not trying to be offensive or toot my own horn. &nbsp;I&#39;m just trying to be objective.</div><div><br></div><div>Regards,</div><div>Eliot</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
<br>
Cheers,<br><font color="#888888">
 &nbsp;- Andreas<br>
</font></blockquote></div><br>