Re: Using V8 for other languages
Andreas Raab <[email protected]> Tue, 02 Sep 2008 23:15:49 -0700
| Newsgroups | gmane.comp.lang.smalltalk.squeak.general,gmane.comp.lang.smalltalk.strongtalk |
|---|---|
| Message-ID | <[email protected]> |
> 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 > > > ------------------------------------------------------------------------ > >