Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Golo - A simple post-invokedynamic language for the JVM

50a17cd98aab2cc4d8e144741e11b1b7?s=47 Julien Ponge
November 12, 2013

Golo - A simple post-invokedynamic language for the JVM

Tools in Action at Devoxx 2013.

50a17cd98aab2cc4d8e144741e11b1b7?s=128

Julien Ponge

November 12, 2013
Tweet

More Decks by Julien Ponge

Other Decks in Programming

Transcript

  1. @jponge #DV13 #gololang A simple post-invokedynamic language for the JVM

    - Julien Ponge
  2. @jponge #DV13 #gololang Julien Ponge ! Associate Professor Computer Scientist

    ! IzPack, Mojo, GlassFish, … Oracle Java Magazine, …
  3. @jponge #DV13 #gololang Simple language Simple to use & hack

  4. @jponge #DV13 #gololang JooFlux Dynamic AOP using invokedynamic April 2012

  5. @jponge #DV13 #gololang July 2012 Summer hack for fun…

  6. @jponge #DV13 #gololang August 2012 Fibonacci… no way back!

  7. Demo @jponge #DV13 #gololang

  8. @jponge #DV13 #gololang Micro-benchmarks (not a shootout…)

  9. @jponge #DV13 #gololang

  10. @jponge #DV13 #gololang Golo Java Java (boxed) Groovy (indy) Groovy

    JRuby Clojure Nashorn 0,1 1 10 100 (logarithmic, less is better)
  11. @jponge #DV13 #gololang Monomorphic dispatch Golo Java Java (boxed) Groovy

    (indy) Groovy JRuby Clojure Nashorn 0,1 1 10 100 A A A A A obj: toString() (…)
  12. @jponge #DV13 #gololang Trimorphic dispatch Golo Java Java (boxed) Groovy

    (indy) Groovy JRuby Clojure Nashorn 0,1 1 10 100 A C B A A obj: toString() (…)
  13. @jponge #DV13 #gololang Megamorphic dispatch Golo Java Java (boxed) Groovy

    (indy) Groovy JRuby Clojure Nashorn 0,1 1 10 100 C D E B A obj: toString() (…)
  14. @jponge #DV13 #gololang Fibonacci(40) Golo Java Java (boxed) Groovy (indy)

    Groovy JRuby Clojure Nashorn 0,1 1 10 100
  15. @jponge #DV13 #gololang Filter-Map-Reduce Golo Java Java (boxed) Groovy (indy)

    Groovy JRuby Clojure Nashorn 0,1 1 10 100 1 2 3 4 1 3 40 10 30 odd? x10 sum
  16. @jponge #DV13 #gololang Dynamic object dispatch Golo Java Java (boxed)

    Groovy (indy) Groovy JRuby Clojure Nashorn 0,1 1 10 100
  17. @jponge #DV13 #gololang

  18. @jponge #DV13 #gololang (…)

  19. @jponge #DV13 #gololang @golo_lang http://golo-lang.org/ @jponge http://julien.ponge.org/