addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupsimageimagesinstagramlinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1outlookpersonJoin Group on CardStartprice-ribbonImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruseryahoo

J VMs Demystified – A Tour of the Engine Room

  • May 14, 2013 · 5:00 PM

The presentation will start at 5:30pm and go for a little over an hour.

Dave Thomas, Bedarra Research

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 be 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 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.



Join or login to comment.

  • Rob M.

    It was recorded, but it needs a few expurgations to calm the lawyers. Hope to have that available soon.

    May 16, 2013

  • A former member
    A former member

    Did anyone happen to record it?

    May 16, 2013

  • Anthony B.

    This was a huge talk covering deep issues in language design and implementation.

    It occurs to me that there is another possible talk on the JVM itself. What type of optimizations does it actually perform? Why is in lining so important and how is it done? How do the garbage collectors work in detail? How does Java track pointers from old objects to new objects? Etc. Anyone interested in providing such a talk?

    May 16, 2013

  • Michael P.

    I enjoyed the presentation a lot and learnt from it.

    My interest in JVM stems from interest in clojure (as well as other lisp languages and the 'wizard' book) and it sounds like Dave could talk extensively about that as well.

    May 16, 2013

  • Jason S.

    Thanks for organising Dave Thomas to talk at the Meetup, he is a legend on the industry, and always entertaining.

    If you can pass it on, I would have liked him to focus more on the risks the JVM faces versus other languages, including a business like risk analysis of in-action for JVM users.

    I like the part about multi-tenancy and server side programming. I get the idea most of us in are doing this kind if work, so it would be good to hear more about this. I'm thinking more seriously about learning Ruby after hearing it praised for its multi tenancy abilities.

    I would like to hear what other people think,
    Jason Shepherd

    May 15, 2013

  • Mitul B.

    It was really nice to meet all people, discuss the VM in a very different style. A big learner.

    May 15, 2013

  • Matt R.

    Guests name is Thomas Deneux if that is required

    May 13, 2013

  • Michael L.

    Damn, sounds good, but Tue is U8's soccer training

    May 9, 2013

  • Steven D.

    Got a work dinner :-(

    May 7, 2013

  • Doug S.

    Didn't realise this is in the "middle" of the Clojure training... ;)

    April 16, 2013

Our Sponsors

  • Redhat

    Brisbane Lunchtime Meetup

  • Oracle

    Brisbane Evening Meetup

People in this
Meetup are also in:

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