[squeak-dev] Re: Using V8 for other languages
Andreas Raab
andreas.raab at gmx.de
Wed Sep 3 06:15:49 UTC 2008
> state-of-the-art multi-threaded design
Can you say more about this? I can't find any information about V8's
thread handling and concurrency options.
Cheers,
- Andreas
David Griswold wrote:
> A little more info on V8.
>
> I talked briefly with Lars Bak and Robert Griesemer today, (both are on
> the V8 team, and Lars is the lead) and got a little bit of their
> perspective on using V8 for other languages. As was to be expected, the
> VM is targeted to JavaScript semantics, and given the gnarliness of
> those semantics, there are a few caveats to think about.
>
> * V8 will get faster as it matures, of course, however:
> * There will be issues around things like immediate object
> semantics, which don't exactly match up with any other language.
> Yucky JavaScript!
> * A bigger long-term performance issue is that given the dynamic
> nature of JavaScript objects (i.e. adding/removing slots on the
> fly) there apparently isn't any way around adding an additional
> indirection to deal with the object size changing dynamically.
> That is something that will just have to be lived with. I was
> hoping they had some magic there, but apparently not.
>
> I'm sure that these sorts of things can be worked around, but they do
> mean that V8 will never in its pure form quite reach the pinnacle of
> theoretical performance possible for a VM targeted specifically to
> Smalltalk etc. So it won't be as fast as Strongtalk, although it may
> get fairly close to VisualWorks performance.
>
> Nonetheless, I still think it or some derivative will quickly become the
> dominant dynamic language VM, for the following reasons:
>
> * Given who the developers are, and with Google behind it, it will
> be the fastest JavaScript VM for a long time to come.
> * For the same reason, it will be reliable and secure (as much as it
> can be, anyway; nothing is perfect).
> * It will be supported on the three major platforms (Windows, Linux,
> Mac).
> * It can be used with other browsers, so I'm sure it will be ported
> to Firefox (if only as an option). Some or all of the other
> browsers may also adopt it, given that it will have a very
> hard-to-overcome performance advantage (these sorts of VMs can't
> be pulled out of a hat). Although MS and maybe Safari may have
> too much of a Not Invented Here problem with it, as well as
> standards war issues.
> * those things, plus the other architectural advantages it brings,
> will make it a primary target for serious web app development,
> esp. Google apps.
> * So it will be ubiquitous
>
> So it will be an irresistible platform for other dynamic languages, even
> if they could theoretically run a bit faster on a custom VM. Remember
> it will still be a lot easier to run other dynamic languages on
> JavaScript than it is to run them on Java, since at least JavaScript is
> fully dynamic, unlike Java.
>
> And remember, the bottom line is that it is a clean, supported,
> state-of-the-art multi-threaded design that is fully open-source. So as
> a last resort, there is always FORK!
>
> -Dave
>
>
> ------------------------------------------------------------------------
>
>
More information about the Squeak-dev
mailing list
|