Going Deep

Lars Bak and Steve Lucco: Chakra, V8, JavaScript, Open Source

Download this episode

Download Video

Description

Technical Fellow Steve Lucco (architect and lead engineer of IE's Chakra JS VM) and Google's V8 and Dart architect Lars Bak discuss JavaScript, from a virtual machine perspective (implementer's view point).

IE and Chrome employ different strategies (although they do share some things in common) to make JavaScript execute faster. What are these strategies? How do Chakra and V8 differ? How are they similar? How fast can Lars and Steve make JavaScript go, anyway? What's the speed limit for JavaScript execution? What languages are used to write these VMs? (Hint, both start with C...)

This is a candid technical conversation among two excellent software engineers tasked with making JavaScript run as fast as possible in their respective JS VMs. The conversation also includes a brief discussion on open source technologies.

This was filmed at GOTO Aarhus 2012, an excellent developer event. Huge thanks to Lars and Steve for the excellent conversation and to the folks at GOTO for providing a room for me for all these interviews (and lights, too!).

Embed

Format

Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • Spongman

      "if we can find a way to address the GPU". do you mean WebGL?

    • Charles

      @piersh: He's not really talking about graphical rendering...  There is no support for GPGPU in any JS VM today (JavaScript code is 100% CPU-bound...).

      C

    • Spongman

      well, there's WebCL for true GPGPU in the future. but for now, the WebGL solves the 99% use-case for the available hardware: better graphics.

    • felix9

      Oh yeah the Self and Strongtalk works and people were amazing ... Smiley and IIRC some formal HotSpot team members are working for MS now.

      @Charles, why did you suggest reference counting ? love shared_ptr too much ? Tongue Out

      p.s. the video of Lars' presentation at StrangLoop2012 is here:

      Pushing The Limits of Web Browsers ... or Why Speed Matters
      http://www.infoq.com/presentations/Performance-V8-Dart

    • Charles

      @felix9: It's a big part of WinRT, too, Felix. Reference counting is good. I like it! Smiley

      C

    • ccik

      Why Lars is always so quiet?

    • Hakime

      "One thing that is interesting with V8 is that we were pretty much the first high performance javascript engine that was made for JavaScript..."

      This is plain wrong and arrogant.

      WebKit (that Chrome also uses for everything but JavaScript) introduced a new fast JavaScript engine called "SquirrelFish" on June 2 2008 with a high-performance bytecode interpreter. A new generation of this engined called "SquirrelFish Extreme" was introduced shortly later on September 18 2008 with native code generation. Both were first developed at Apple and contributed to Webkit. Chrome beta was introduced on September 18 2008, so it's hard to believe that Lars Bak's group was the only and first group working on speeding up JavaScript with new engines back to 2008 and before.

      And hearing Steve Lucco acknowledging that V8 was a pioneer in fast JavaScript performance just shows how Microsoft had little clue on what was going on in Javascript engines back then.

      "SquirrelFish Extreme" called now Nitro is today a top performer in both mobile and desktop, often faster than V8 depending on the benchmark. And I should add that Mozilla has also a fast JavaScrip engine faster than IE or V8 in many situations. Having those two engines not mentioned in this conversion for at least putting in perspective what is on the market today is regrettable.

      Now, please Lars, some modesty would be welcomed....

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.