[squeak-dev] The Trunk: Tools-eem.992.mcz

tim Rowledge tim at rowledge.org
Tue Oct 6 18:56:17 UTC 2020



> On 2020-10-06, at 1:45 AM, Thiede, Christoph <Christoph.Thiede at student.hpi.uni-potsdam.de> wrote:
> 
> Hi Eliot,
> 
> > - translating the 'all temp vars' and 'stack top' label
> 
> Translating is a really low-level operation because it appears everywhere in the system. I'm quite sure that these two calls in the inspector are only the tip of the iceberg. Wouldn't it be more sustainable, and also better readable in the inspectors' implementations, to implement such a cache somewhere in the #translated logic? If necessary, we could make it an LRU cache of an appropriate size, 16 or 32 entries might suffice.

tl;dr - Translating everywhere is the entrance to the road to perdition.

An example from ancient history. Skip if you can't be bothered to read the ramblings of an old fart.
In the late 1980's (I said it was ancient history) there were three companies trying to make what you would recognise as proto-iPads. 

Two were actually Smalltalk based, the Active Book (based on Eliot's BHH with quite a lot of my blood in it, running on an ARM2 @ 8MHZ) and the Momenta (based on Smalltalk/V and DOS on some intel thing). 

There was also the AT&T/EOS/sometihng or other (which was certainly the nicest industrial design) and it ran carefully hand optimised c++ code written by experts and running on a 20MHz or so Hobbit cpu. There are good reasons why almost none of you will have heard of it; it was *horrible*. In fact it was one of the reason Apple got involved with ARM and thus lead to the utter domination of ARM these days.

The interesting thing was that the Active Book performance was waaaaaaay better than the others. Years late I actually got to know one of the guys that worked on it and learned a bit about why the thing was so slow to use. It turned out that they put everything through a translation layer; every open of a button, every entry in a menu, every label, got passed through this. It cost so much that the 'carefully optimised' system was crushed. 

Now of course, our machines are literally a million times faster these days, so surely this is not a problem?  Well, look around at the software you use daily. Does it work a million times faster? Nah.  Obviously it isn't all down to any kind of translation but remember  - I said it was the entrance to the road to perdition. And perdition ain't no resort town in Mexico.
PS - the Active Book was killed by AT&T buying the company and stopping development precisely because this tiny UK company was showing up their large investment.

tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
"Bother" said Pooh, as the Vice Squad took his GIFS ..




More information about the Squeak-dev mailing list