Caution (re-review)
I can’t speak English well.
If I say strange English, you can see the slide page.
If you have questions please ask in Japanese, Ruby, Python, Lisp, Smalltalk, or Haskell, not english.
I got a job! My office is at Akihabara. Otaku City.
Akiba-Kei – Please check this word on wikipedia.
An Assistant of The Univ. of Tokyo.
RubyKaigi 2006 – 200 tickets sold out in 300 hours (DHH and Matz were the keynote speakers)
RubyKaigi 2007 – Dave Thomas and Matz are expected to keynote.
Koichi showed a simple scaffold rails app on YARV.
Congrats Koichi.
YARV
Simple Stack Machine
Specific VM Instructions YARV Instructions
Compiler
Interpreter (VM)
Many Optimization techniques to improve performance.
http://www.atdot.net/yarb/
RubyPorgram -> Compiler -> YARV Instruction Seq-> VM(Execution)
Optimizations
Compile time optimization
Direct threaded code
Specialized instructions
Operands/Instructions Unifications
Inline (Method) cache
Static stack caching
Profiler
more …
YARV doesn’t improve text processing,
YARV can assemble and disassemble assembly instruction sequences.
Instruction Sequences can be serialized and deserialized.
YARV will have a Mutex Class, but Thread.critical will become UNSUPPORTED with YARV. This will require Thrad.critical users to change there code.
Default threading model will be non-parallel with a giant lock, this allow existing non thread safe or non reentrant c extensions to continue to work.
#yarv irc.freenode.net, but Koichi is always marked AWAY, use mailing list.
http://i.loveruby.net/autobuild/yarv
YARV lacks a Hook interface
Needs to catch up to current 1.9
JIT/AOT Compiler AOT has been started but it is incomplete.
Compare vs. x10, Fortless Fortress?, Chapel
http://www.atdot.net/yarv/rc2006_sasada_yarv_on_rails.pdf