Dynamic Language VMs: Inside Ruby
The only efficient way to make the most of something is understanding it's mechanics - a pilot has deep knowledge of many scientific factors and its effects on a plane. Why do so many developers fly blind?
We'll take a peek into the Ruby 1.9 VM's internals with DTrace and observe the effect of some core components on memory, IO and CPU subsystems. No prior knowledge of Virtual Machines/Interpreters is assumed.
Interpreter specific subjects touched upon:
* Source to runtime : Loading files, parsing to Nodes and eval
* VM : Symbol table, method cache, frames, method dispatch and optimizations
* Object model : Core types, Modules and variables
* Closures : Blocks and procedures
* POSIX, IO and Contexts : Signals, system calls and Thread / Fiber switches
* Garbage Collection : Heap space, alloc / dealloc and GC patterns
These are in no way a complete subset of a functional VM, but appropriate for the time slot of this presentation. If time allows I'll touch upon a dreamy evented interpreter design from a coworker, based on the Event Sourcing pattern, and how such a design yields a decoupled and pluggable interpreter.
English
Lourens is an independent Consultant currently based in sunny Madeira Island, but originally from South Africa. With a twisted (and mostly non-academic) view on automated behavior based performance optimizations and deep service integration experience, he's currently building out Forex/sell side infrastructure in Ruby. He has written several Ruby extensions and is also a founding member of the Scrooge DB optimization layer. (more)
Friday, 4 of December of 2009, from 11:00 to 12:00
André Cruz
André dos Santos Cardoso
Andre Gonçalves
Bruno Antunes
Bruno Franco
Bruno Morisson
Caio Proiete
Carla Vanessa Ferreira Alves Leite
Carlos Moutinho
Célia Leocádio
Cláudio Valente
Daniel Parreira
David Júlio
David Serrano
David Walter Figueira Jardim
Filipe Adriano Lima Dias
Filipe Manuel Castro Correia
Flávio Cruz
Francisco Alves Cabrita
Gil Abrantes
Gonçalo S. Silva
Hugo Monteiro
Joao Azevedo
João Bordalo
João Duarte Gomes
João Nelas
Matusalem Marques
Miguel Nogueira
Miguel Pais
Miguel Regedor
Paulo Correia
Pedro Diogo
Pedro Duarte
Pedro Gomes
pedro mg
Pedro Teixeira
Pedro Trindade
Renato Lourenço
Ricardo Ferreira
Rogério Vicente
Ruben Marques
Rui Lopes
Rui Miguel Miranda Ramos
Sergio Freire
Sérgio Santos
Simao Freitas
Tiago Mendo
Tiago Pinto
Tomás Senart
Tomé Duarte
Estimated head count: 87 people
(based on the total of persons interested in this talk and the universe of people attending Codebits)