My newbie annoyances so far

A

Alex Martelli

John Nagle said:
Tamarind is inside the current implementation of Flash, but it's
not into Firefox yet, apparently. The current SpiderMonkey implementation
is nothing to get excited about in terms of performance.

If CPython is *unreasonably slow*, and SpiderMonkey is somewhere between
5 times slower (when CPython is totally handicapped to only using
primitives that are also made avaiable by SpiderMonkey) and 15 times
slower (as soon as CPython can use slightly better primitives, without
any special striving for optimization), then it should logically follow
that the current performance of SpiderMonkey is WELL worth (negative)
"excitement" on your part -- what's 15 times worse than "unreasonably
slow"?!

Can you run a generic benchmark "inside the current implementation of
Flash" to check out its Javascript performance? I can't, so, not having
any way to verify any claims regarding its performance, I'm going to
consider those claims not proven until further notice (verification by
somebody I know and trust personally).
My point is that there are optimizing hard-code compiler
implementations of many dynamic languages, including LISP, Self, and
Smalltalk, but not Python.

If you had not mentioned Javascript specifically, I would not have
entered this thread, and indeed I consider your assertion which you now
(carefully avoiding mention of Javascript:) claim is "your point", a
somewhat boring and trite restatement of well-known fact -- it's
obviously _possible_ to build excellent "compilers to machine code" for
dynamic languages, with sufficient effort fueled by either commercial or
academic pursuits, as has been repeatedly proven for Scheme, Lisp,
Smalltalk, etc, etc; and it does indeed seem that no academic or
commercial entity has as yet released such a compiler for Python (though
the pypy project may move in such a direction in the future, it does not
appear to be part of what they have released as part of their 1.0
milestone).

But I consider your specific claim about Javascript to be currently
unfounded -- maybe a year from now they'll indeed release to the public
a version that runs, say, 30 times faster than today's (it would have to
be at least twice as fast as CPython to justify your "unreasonably slow"
claim, right?)... but, even if you trust them blindly to do so, how do
you know in advance what the performance of the implementation of Python
with the ability to generate the fastest machine code will be a year
from now?!


Alex
 
I

Isaac Gouy

Tamarind is inside the current implementation of Flash, but it's
not into Firefox yet, apparently. The current SpiderMonkey implementation
is nothing to get excited about in terms of performance.

It was my impression that the "current SpiderMonkey implementation is
nothing to get excited about in terms of performance" which made your
unfavourable comparison to CPython so puzzling (and does the tamarin
website actually show any performance comparisons with CPython?)

My point is that there are optimizing hard-code compiler implementations
of many dynamic languages, including LISP, Self, and Smalltalk, but not Python.

I guess Lisp is a safe-ish example but I don't think Self really made
it out of the lab, and it really depends which Smalltalk
implementation you have in mind and what you think about Pysco.
 
N

Neil Hodgson

Alex Martelli:
Can you run a generic benchmark "inside the current implementation of
Flash" to check out its Javascript performance? I can't, so, ...

I can't either (without going to a lot of effort) so here is a page
comparing SpiderMonkey and Tamarin from someone with an adobe.com address:

http://www.playercore.com/pub/Tamarin/Avmplus_vs._javascript.htm

The median improvement for Tamarin over SpiderMonkey is better than
2:1 and for Tamarin with type declarations better than 4:1. There are
some tests with much more noticeable results but overall we're not
looking at C or Lisp compiler levels of performance even with type
declarations.

Neil
 
J

John Nagle

Isaac said:
I guess Lisp is a safe-ish example but I don't think Self really made
it out of the lab, and it really depends which Smalltalk
implementation you have in mind and what you think about Pysco.

See

http://research.sun.com/self/papers/third-generation.html

on a high performance Self implementation. That laid the groundwork
for Java's JIT system.

Here are some early Tamarin benchmarks.

http://www.playercore.com/pub/Tamarin/Avmplus_vs._javascript.htm

Tamarin doesn't do type inference, though, so they get the best
performance only with type declarations.

John Nagle
 
A

Alex Martelli

Neil Hodgson said:
Alex Martelli:


I can't either (without going to a lot of effort) so here is a page
comparing SpiderMonkey and Tamarin from someone with an adobe.com address:

http://www.playercore.com/pub/Tamarin/Avmplus_vs._javascript.htm

The median improvement for Tamarin over SpiderMonkey is better than
2:1 and for Tamarin with type declarations better than 4:1. There are
some tests with much more noticeable results but overall we're not
looking at C or Lisp compiler levels of performance even with type
declarations.

Thanks! Trusting those reports, it looks like CPython may well NOT be
particularly (or, at all...?) slower than Javascript with Tamarin --
making the assertion that CPython is "unreasonably slower" than some
Javascript implementation definitely unfounded, if so.


Alex
 
I

Isaac Gouy

See

http://research.sun.com/self/papers/third-generation.html

on a high performance Self implementation. That laid the groundwork
for Java's JIT system.

I don't think Java HotSpot equates to Self getting out of the lab.
(And wasn't that more directly related to Strongtalk?)

Here are some early Tamarin benchmarks.

http://www.playercore.com/pub/Tamarin/Avmplus_vs._javascript.htm

Tamarin doesn't do type inference, though, so they get the best
performance only with type declarations.

John Nagle

Thank you Neil Hodgson :)

I wonder where the runtime was hosted? I wonder what current
measurements look like?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,534
Members
45,007
Latest member
obedient dusk

Latest Threads

Top