VMs Demystified – A Tour of the Engine Room

In a special edition brought to you by ScalaSyd – in association with clj-syd – we have Dave Thomas presenting VMs Demystified – A Tour of the Engine Room

Language virtual machines are an essential part of current and next generation platforms. Yet many developers have no real idea of what is actually happening when their program is run on a VM or the hardware. This leads to many false assumptions about speed and space performance. In this talk you will see under the hood of language virtual machines and gain an understanding of what makes VMs tick as well as differences between the languages they support.

First we explain the essence VM engineering including object representations, stack versus register VMs, RISC versus CISC byte codes; static dispatch to polymorphic inline cache; context management; interpretation versus dynamic translation/tracing versus compilation; garbage collection; and native types and code interfaces. We discuss benchmark speed and space performance versus real application performance.

Armed with the above knowledge we then engage is some of the entertaining educational VM debates. How can a JVM or PHP VM faster than C++? When is the JVM or CLR better? How does the language, or the language library impact the VM? Are strongly typed languages always faster than dynamic languages? How does hosting with CRuby, compare to JRuby or Java? Let’s put the VM in hardware? How do functional language VMs differ from object VMs? How can thousands of processes in Erlang be efficient compared to using native OS threads?


About The Speaker

Dave Thomas
Bedarra Research Labs and YOW ...

Dave Thomas is an expert in dynamic languages and has decades of experience building and deploying language VMs for mobile, instrumentation, embedded command and control, and business application on platforms from mainframes to amicro devices. He is widely known and respected in the programming language community and this year will be presenting the keynote at the Commercial Users of Functional Programming (CUFP) conference. While CEO of OTI, now IBM OTI Labs, he over saw IBM’s Smalltalk and J9 family of Java enterprise and embedded JVMs, OSGi as well as the initial releases of Eclipse. He lead an IBM OTI research effort into universal virtual machines. After leaving IBM he worked on JVM support for dynamic languages and the use of V8 for embedded applications. For the past 6 years Dave has been working with high performance vector functional virtual machines, DSLs and most recently exploring special purpose HW VMs.


Also Showing at:

This talk is also being presented at UNSW as a CSE Seminar
Wednesday, 29 May[masked]AM

CSE Seminar room (K17_113),
Level 1, CSE Building (K17)


Join or login to comment.

  • steck

    Any chance that Dave's talk will be taped?

    May 27, 2013

    • steck

      OK, Jed, will try to find a tape somewhere. BTW, I'm now at a Silicon Valley startup, and yes, we're using Jira and Confluence.

      1 · May 28, 2013

    • Craig S.

      A version was taped, hopefully will be online soon

      August 3, 2013

  • A former member
    A former member

    Great presentation tonight, will the slides be available?

    2 · May 28, 2013

  • Anna L.

    Sick :(

    May 28, 2013

  • Karl R.

    Thought I'd already replied to this via Scala syd

    May 28, 2013

  • Dirk van R.

    Can't make it any more

    May 28, 2013

  • James L.

    Johns always good fun and easy to listen to. Demystifying VMs that seem to be growing faster than weeds in my Orchids :)

    May 9, 2013

  • Eric T.

    It pains me to say so, but I can't be there :-(

    May 6, 2013

Sometimes the best Meetup Group is the one you start

Get started Learn more

I'm surprised by the level of growth I've seen since becoming an organizer, it's given me more confidence in my abilities.

Katie, started NYC ICO

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy