Squeak on Android

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Squeak on Android

Jon Hylands

Just as a point of interest - I downloaded the app onto my HTC Droid Incredible, and it seems to work fine (for what works).

Tiny Benchmark gives: 

31,250,000 bytecodes/sec
857,762 sends/sec

The Incredible has a Qualcomm 1GHz Snapdragon processor...


- Jon



Reply | Threaded
Open this post in threaded view
|

Re: Squeak on Android

Dan Ingalls
Re: [squeak-dev] Squeak on Android
Awesome.  For some reason this really grabbed me -- This is about the speed we achieved on the Dorado - the fastest of Xerox's microcoded D-machines when we were first taking Smalltalk public.  That machine could not be carried by two people, let alone one, gobbled power and had to live in a separate room due to the fan noise.

A phone...  yeah

        - Dan
--------------------------------------
Jon Hylands <[hidden email]> wrote...

Just as a point of interest - I downloaded the app onto my HTC Droid Incredible, and it seems to work fine (for what works).

Tiny Benchmark gives:

31,250,000 bytecodes/sec
857,762 sends/sec

The Incredible has a Qualcomm 1GHz Snapdragon processor...

http://www.htc.com/us/products/droid-incredible-verizon#tech-specs

- Jon



Reply | Threaded
Open this post in threaded view
|

Re: Squeak on Android

johnmci
An iPhone 3GS with a bit of careful tuning will do 

42M bytecodes/sec and 1.1M sends. 


On 2010-12-21, at 8:16 PM, Dan Ingalls wrote:

Awesome.  For some reason this really grabbed me -- This is about the speed we achieved on the Dorado - the fastest of Xerox's microcoded D-machines when we were first taking Smalltalk public.  That machine could not be carried by two people, let alone one, gobbled power and had to live in a separate room due to the fan noise.

A phone...  yeah

        - Dan
--------------------------------------
Jon Hylands <[hidden email]> wrote...

Just as a point of interest - I downloaded the app onto my HTC Droid Incredible, and it seems to work fine (for what works).

Tiny Benchmark gives:

31,250,000 bytecodes/sec
857,762 sends/sec

The Incredible has a Qualcomm 1GHz Snapdragon processor...

http://www.htc.com/us/products/droid-incredible-verizon#tech-specs

- Jon




--
===========================================================================
John M. McIntosh <[hidden email]>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================






Reply | Threaded
Open this post in threaded view
|

Dorado (was: Squeak on Android)

Jecel Assumpcao Jr
In reply to this post by Dan Ingalls
Dan Ingalls wrote on Tue, 21 Dec 2010 20:16:13 -0800
> Awesome.  For some reason this really grabbed me -- This is about the
> speed we achieved on the Dorado - the fastest of Xerox's microcoded
> D-machines when we were first taking Smalltalk public.  That machine
> could not be carried by two people, let alone one, gobbled power and
> had to live in a separate room due to the fan noise.
> A phone...  yeah

The number I have often seen associated with the Dorado is 400,000
bytecodes/sec, which is 80 times slower than Jon's phone and 100 times
slower than John's tuned iPhone VM. I just use 0.5Mbc/sec for the Dorado
to make the math a bit simpler. Since the Dorado could execute 14
million microcode instructions per second, this would mean 28 microcode
instructions per bytecode which does seem rather high. But I really
can't imagine it needing less than 10 microcode instructions per
bytecode, which would result in a peak of 1.4Mbc/sec.

-- Jecel


Reply | Threaded
Open this post in threaded view
|

Re: Dorado (was: Squeak on Android)

Eliot Miranda-2
In reply to this post by Jon Hylands


On Wed, Dec 22, 2010 at 11:38 AM, Jecel Assumpcao Jr. <[hidden email]> wrote:
Dan Ingalls wrote on Tue, 21 Dec 2010 20:16:13 -0800
> Awesome.  For some reason this really grabbed me -- This is about the
> speed we achieved on the Dorado - the fastest of Xerox's microcoded
> D-machines when we were first taking Smalltalk public.  That machine
> could not be carried by two people, let alone one, gobbled power and
> had to live in a separate room due to the fan noise.
> A phone...  yeah

The number I have often seen associated with the Dorado is 400,000
bytecodes/sec, which is 80 times slower than Jon's phone and 100 times
slower than John's tuned iPhone VM. I just use 0.5Mbc/sec for the Dorado
to make the math a bit simpler. Since the Dorado could execute 14
million microcode instructions per second, this would mean 28 microcode
instructions per bytecode which does seem rather high. But I really
can't imagine it needing less than 10 microcode instructions per
bytecode, which would result in a peak of 1.4Mbc/sec.

While things like temp var and inst var access may be cheap sends can run very high (think of a cache miss lookup or a cache miss lookup followed by MNU processing), as can some primitives.  I would think 28 microcode ops per bytecode is a believable average.
 
best
Eliot


-- Jecel





Reply | Threaded
Open this post in threaded view
|

Re: Dorado (was: Squeak on Android)

Jecel Assumpcao Jr
Eliot Miranda wrote:

> While things like temp var and inst var access may be cheap sends
> can run very high (think of a cache miss lookup or a cache miss lookup
> followed by MNU processing), as can some primitives.  I would think
> 28 microcode ops per bytecode is a believable average.

I agree! And in the case of Squeak we have added stuff like exception
handling that makes sends even slower. But the code from which the
tinyBenchmark numbers are obtained is not too typical for Smalltalk (it
is a loop with not too many message sends other than array accesses and
SmallInteger math) so I was speculating that if tinyBenchmarks were run
on the Dorado we might get higher than expected numbers.

Though I think I have already mentioned this here, one thing I found
hard to understand when looking at the microcode for Smalltalk on the
Dorado was that it spent quite a few microinstructions decoding the
bytecodes. But all the texts about it mention the special hardware that
the machine had to do this and how important this IFU was to getting
Smalltalk to run well. On possibility is that the code was there but got
skipped when the IFU was activated. It would be interesting to know
under what conditions the number that were cited for the Dorado were
obtained.

-- Jecel