Ruby. JRuby+Truffle and the to JITs. Chris Oracle Labs

Size: px
Start display at page:

Download "Ruby. JRuby+Truffle and the to JITs. Chris Oracle Labs"

Transcription

1

2 John Tenniel public domain in the UK and US Ruby JRuby+Truffle and the to JITs Chris Oracle Labs Copyright 2014, Oracle and/or its affiliates. All rights reserved.

3 Safe Harbor Statement The following is intended to provide some insight into a line of research in Oracle Labs. It is intended for informa@on purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or func@onality, and should not be relied upon in making purchasing decisions. Oracle reserves the right to alter its development plans and prac@ces at and the development, release, of any features or func@onality described in connec@on with any Oracle product or service remains at the sole discre@on of Oracle. Any views expressed in this presenta@on are my own and do not necessarily reflect the views of Oracle. Copyright 2014, Oracle and/or its affiliates. All rights reserved. 3

4 Copyright 2014, Oracle and/or its affiliates. All rights reserved. 4

5 JRuby+Truffle A new open source implementa@on of Ruby by Oracle Labs with a JIT using next- gen JVM technology and par6al evalua6on, now part of JRuby Copyright 2014, Oracle and/or its affiliates. All rights reserved. 5

6 codon.com/compilers- for- free by Tom Stuart, licensed under a Crea@ve Commons A\ribu@on ShareAlike 3.0 Copyright 2014, Oracle and/or its affiliates. All rights reserved. 6

7 Why is Ruby hard to Copyright 2014, Oracle and/or its affiliates. All rights reserved. 7

8 Fixnum to Bignum Monkey patching methods #binding ObjectSpace set_trace_func Thread#raise Copyright 2014, Oracle and/or its affiliates. All rights reserved. 8

9 elegantly solves all these problems Copyright 2014, Oracle and/or its affiliates. All rights reserved. 9

10 Slow interpreter Fast JITed code Copyright 2014, Oracle and/or its affiliates. All rights reserved. 10

11 Slow interpreter Fast JITed code Copyright 2014, Oracle and/or its affiliates. All rights reserved. 11

12 Copyright 2014, Oracle and/or its affiliates. All rights reserved. 12

13 John Tenniel public domain in the UK and US Copyright 2014, Oracle and/or its affiliates. All rights reserved. 13

14 John Tenniel public domain in the UK and US Copyright 2014, Oracle and/or its affiliates. All rights reserved. 14

15 John Tenniel public domain in the UK and US Copyright 2014, Oracle and/or its affiliates. All rights reserved. 15

16 Ruby Door to utopia of high performance John Tenniel public domain in the UK and US Copyright 2014, Oracle and/or its affiliates. All rights reserved. 16

17 Just- compiler Leh something behind when we compiled John Tenniel public domain in the UK and US Copyright 2014, Oracle and/or its affiliates. All rights reserved. 17

18 reverses the effects of the JIT John Tenniel public domain in the UK and US Copyright 2014, Oracle and/or its affiliates. All rights reserved. 18

19 What does do for Ruby? Copyright 2014, Oracle and/or its affiliates. All rights reserved. 19

20 Fixnum to Bignum Copyright 2014, Oracle and/or its affiliates. All rights reserved. 20

21 a + b + c We ll assume we already know these are Fixnums Copyright 2014, Oracle and/or its affiliates. All rights reserved. 21

22 t1 = Fixnum(a) + Fixnum(b) if t1.overflowed? t1 = Bignum(a) + Bignum(b) t2 = Bignum(t1) + Bignum(c) else t2 = Fixnum(t1) + Fixnum(c) if t2.overflowed? t2 = Bignum(t1) + Bignum(c) end end Copyright 2014, Oracle and/or its affiliates. All rights reserved. 22

23 t1 = Fixnum(a) + Fixnum(b) deoptimize! if t1.overflowed? t2 = Fixnum(t1) + Fixnum(c) deoptimize! if t2.overflowed? Copyright 2014, Oracle and/or its affiliates. All rights reserved. 23

24 t1 = Fixnum(a) + Fixnum(b) if t1.overflowed? t1 = Bignum(a) + Bignum(b) t2 = Bignum(t1) + Bignum(c) else t2 = Fixnum(t1) + Fixnum(c) deoptimize! if t2.overflowed? end Copyright 2014, Oracle and/or its affiliates. All rights reserved. 24

25 Monkey patching methods Copyright 2014, Oracle and/or its affiliates. All rights reserved. 25

26 my_object.my_method(x, y) Copyright 2014, Oracle and/or its affiliates. All rights reserved. 26

27 lookup my_method in my_object call it with (x, y) Copyright 2014, Oracle and/or its affiliates. All rights reserved. 27

28 if my_object.changed? lookup my_method in my_object call it with (x, y) else use cached my_method call it with (x, y) end Copyright 2014, Oracle and/or its affiliates. All rights reserved. 28

29 if my_object.changed? deoptimize! else use cached my_method call it with (x, y) end Copyright 2014, Oracle and/or its affiliates. All rights reserved. 29

30 use cached my_method call it with (x, y) Copyright 2014, Oracle and/or its affiliates. All rights reserved. 30

31 #binding Copyright 2014, Oracle and/or its affiliates. All rights reserved. 31

32 a = 14 b = [8.2, 3.4] Copyright 2014, Oracle and/or its affiliates. All rights reserved. 32

33 a: 14 b: Array 0: 1: Copyright 2014, Oracle and/or its affiliates. All rights reserved. 33

34 a: 14 b[0]: 8.2 b[1]: 3.4 Copyright 2014, Oracle and/or its affiliates. All rights reserved. 34

35 a: 14 b[0]: 8.2 b[1]: Array 0: 1: Copyright 2014, Oracle and/or its affiliates. All rights reserved. 35

36 ObjectSpace set_trace_func Copyright 2014, Oracle and/or its affiliates. All rights reserved. 36

37 How JRuby+Truffle Copyright 2014, Oracle and/or its affiliates. All rights reserved. 37

38 1. Recreate the interpreter stack frame 2. Jump from the JITed code into the interpreter 3. Allow us to force threads to do this Copyright 2014, Oracle and/or its affiliates. All rights reserved. 38

39 loop do a = 14 b = 2 a + b end Copyright 2014, Oracle and/or its affiliates. All rights reserved. 39

40 loop do a = 14 b = 2 a + b deoptimize! if should_deoptimize? end Copyright 2014, Oracle and/or its affiliates. All rights reserved. 40

41 loop do a = 14 b = 2 a + b read the safepoint page end Copyright 2014, Oracle and/or its affiliates. All rights reserved. 41

42 JRuby+Truffle Performance Copyright 2014, Oracle and/or its affiliates. All rights reserved. 42

43 86% RubySpec language specs rubyspec.org, Brian Shirai et al Copyright 2014, Oracle and/or its affiliates. All rights reserved. 43

44 Method #send #binding Float Threads Frame- local variables C extensions Encodings ObjectSpace Regexp Thread#raise #eval Fixnum to Bignum promo@on set_trace_func Proc#binding Concurrency Constant invalida@on Debugging Closures Copyright 2014, Oracle and/or its affiliates. All rights reserved. 44

45 Method #send #binding Float Threads Frame- local variables C extensions Encodings ObjectSpace Regexp Thread#raise #eval Fixnum to Bignum promo@on set_trace_func Proc#binding Concurrency Constant invalida@on Debugging Closures Copyright 2014, Oracle and/or its affiliates. All rights reserved. 45

46 No, we can t run Rails yet but we re working towards it Copyright 2014, Oracle and/or its affiliates. All rights reserved. 46

47 Copyright 2014, Oracle and/or its affiliates. All rights reserved. 47

48 chunky_png and psd.rb Willem van Bergen, Ryan LeFevre, Kelly Su\on, Layer Vault, Floorplanner et al Ruby logo copyright (c) 2006, Yukihiro Matsumoto, licensed under the terms of the Commons ShareAlike 2.5 agreement Copyright 2014, Oracle and/or its affiliates. All rights reserved. 48

49 Copyright 2014, Oracle and/or its affiliates. All rights reserved. 49

50 Copyright 2014, Oracle and/or its affiliates. All rights reserved. 50

51 Conclusions Copyright 2014, Oracle and/or its affiliates. All rights reserved. 51

52 Building on other projects JRuby logo copyright (c) Tony Price 2011, licensed under the terms of the Commons NoDerivs 3.0 Unported (CC BY- ND 3.0) Ruby logo copyright (c) 2006, Yukihiro Matsumoto, licensed under the terms of the Commons ShareAlike 2.5 agreement Rubinius logo licensed under the terms of the Commons NoDerivs 3.0 Unported Copyright 2014, Oracle and/or its affiliates. All rights reserved. 52

53 Copyright 2014, Oracle and/or its affiliates. All rights reserved. 53

54 @ChrisGSeaton Copyright 2014, Oracle and/or its affiliates. All rights reserved. 54

55 Safe Harbor Statement The preceding is intended to provide some insight into a line of research in Oracle Labs. It is intended for informa@on purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or func@onality, and should not be relied upon in making purchasing decisions. Oracle reserves the right to alter its development plans and prac@ces at and the development, release, of any features or func@onality described in connec@on with any Oracle product or service remains at the sole discre@on of Oracle. Any views expressed in this presenta@on are my own and do not necessarily reflect the views of Oracle. Copyright 2014, Oracle and/or its affiliates. All rights reserved. 55

56 Copyright 2014, Oracle and/or its affiliates. All rights reserved. 56

57

JRuby+Truffle. Kevin Menard. Chris Seaton. Benoit Daloze. A tour through a new Ruby Oracle Oracle Labs

JRuby+Truffle. Kevin Menard. Chris Seaton. Benoit Daloze. A tour through a new Ruby Oracle Oracle Labs JRuby+Truffle A tour through a new Ruby implementahon Chris Seaton @ChrisGSeaton Oracle Labs Benoit Daloze @eregontp JKU Linz Kevin Menard @nirvdrum Oracle Labs Ruby logo copyright (c) 2006, Yukihiro Matsumoto,

More information

Debugging at Full Speed

Debugging at Full Speed Oracle Labs Document 2014-0221 Debugging at Full Speed Instrumen)ng Truffle- implemented Programs Michael L. Van De Vanter Oracle Labs, VM Research Group July 30, 2014 2014 JVM Language Summit Santa Clara,

More information

Truffle A language implementation framework

Truffle A language implementation framework Truffle A language implementation framework Boris Spasojević Senior Researcher VM Research Group, Oracle Labs Slides based on previous talks given by Christian Wimmer, Christian Humer and Matthias Grimmer.

More information

Copyright 2014 Oracle and/or its affiliates. All rights reserved.

Copyright 2014 Oracle and/or its affiliates. All rights reserved. Copyright 2014 Oracle and/or its affiliates. All rights reserved. On the Quest Towards Fastest (Java) Virtual Machine on the Planet! @JaroslavTulach Oracle Labs Copyright 2015 Oracle and/or its affiliates.

More information

Guilt Free Ruby on the JVM

Guilt Free Ruby on the JVM The Ruby logo is Copyright 2006, Yukihiro Matsumoto. It is licensed under the terms of the Creative Commons Attribution-ShareAlike 2.5 License agreement. Guilt Free Ruby on the JVM Forgetting Conventional

More information

Safe Harbor Statement

Safe Harbor Statement Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment

More information

Faster Ruby and JS with Graal/Truffle

Faster Ruby and JS with Graal/Truffle The Ruby Logo is Copyright (c) 2006, Yukihiro Matsumoto. It is licensed under the terms of the Creative Commons Attribution-ShareAlike 2.5 agreement. Faster Ruby and JS with Graal/Truffle Chris Seaton

More information

Crea?ng Cloud Apps with Oracle Applica?on Builder Cloud Service

Crea?ng Cloud Apps with Oracle Applica?on Builder Cloud Service Crea?ng Cloud Apps with Oracle Applica?on Builder Cloud Service Shay Shmeltzer Director of Product Management Oracle Development Tools and Frameworks @JDevShay hpp://blogs.oracle.com/shay This App you

More information

OpenWorld 2015 Oracle Par22oning

OpenWorld 2015 Oracle Par22oning OpenWorld 2015 Oracle Par22oning Did You Think It Couldn t Get Any Be6er? Safe Harbor Statement The following is intended to outline our general product direc2on. It is intended for informa2on purposes

More information

JRuby+Truffle. Why it s important to optimise the tricky parts. Chris Seaton Research Manager Oracle Labs 2 June 2016

JRuby+Truffle. Why it s important to optimise the tricky parts. Chris Seaton Research Manager Oracle Labs 2 June 2016 The Ruby Logo is Copyright (c) 2006, Yukihiro Matsumoto. It is licensed under the terms of the Creative Commons Attribution-ShareAlike 2.5 agreement. JRuby+Truffle Why it s important to optimise the tricky

More information

Ahead of Time (AOT) Compilation

Ahead of Time (AOT) Compilation Ahead of Time (AOT) Compilation Vaibhav Choudhary (@vaibhav_c) Java Platforms Team https://blogs.oracle.com/vaibhav Copyright 2018, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement

More information

Contents in Detail. Who This Book Is For... xx Using Ruby to Test Itself... xx Which Implementation of Ruby?... xxi Overview...

Contents in Detail. Who This Book Is For... xx Using Ruby to Test Itself... xx Which Implementation of Ruby?... xxi Overview... Contents in Detail Foreword by Aaron Patterson xv Acknowledgments xvii Introduction Who This Book Is For................................................ xx Using Ruby to Test Itself.... xx Which Implementation

More information

NOSQL DATABASE CLOUD SERVICE. Flexible Data Models. Zero Administration. Automatic Scaling.

NOSQL DATABASE CLOUD SERVICE. Flexible Data Models. Zero Administration. Automatic Scaling. NOSQL DATABASE CLOUD SERVICE Flexible Data Models. Zero Administration. Automatic Scaling. Application development with no hassle... Oracle NoSQL Cloud Service is a fully managed NoSQL database cloud service

More information

Safe Harbor Statement

Safe Harbor Statement Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment

More information

R as a in a Polyglot World

R as a in a Polyglot World R as a Ci@zen in a Polyglot World The promise of the Truffle framework Lukas Stadler, VM Research Group, Oracle Labs user! 2015 2 Safe Harbor Statement The following is intended to provide some insight

More information

Ways to implement a language

Ways to implement a language Interpreters Implemen+ng PLs Most of the course is learning fundamental concepts for using PLs Syntax vs. seman+cs vs. idioms Powerful constructs like closures, first- class objects, iterators (streams),

More information

Mission Possible - Near zero overhead profiling. Klara Ward Principal Software Developer Java Mission Control team, Oracle February 6, 2018

Mission Possible - Near zero overhead profiling. Klara Ward Principal Software Developer Java Mission Control team, Oracle February 6, 2018 Mission Possible - Near zero overhead profiling Klara Ward Principal Software Developer Java Mission Control team, Oracle February 6, 2018 Hummingbird image by Yutaka Seki is licensed under CC BY 2.0 Copyright

More information

The Z Garbage Collector Scalable Low-Latency GC in JDK 11

The Z Garbage Collector Scalable Low-Latency GC in JDK 11 The Z Garbage Collector Scalable Low-Latency GC in JDK 11 Per Lidén (@perliden) Consulting Member of Technical Staff Java Platform Group, Oracle October 24, 2018 Safe Harbor Statement The following is

More information

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Re-Engineering Your Database Design with Oracle SQL Developer Data Modeler Swarnapriya Shridhar Curriculum IDC Operations Manager 2

More information

Using LLVM and Sulong for Language C Extensions

Using LLVM and Sulong for Language C Extensions Using LLVM and Sulong for Language C Extensions Chris Seaton Research Manager VM Research Group Oracle Labs Manuel Rigger, Matthias Grimmer JKU Linz Copyright 2016, Oracle and/or its affiliates. All rights

More information

Modern Stored Procedures Using GraalVM

Modern Stored Procedures Using GraalVM Modern Stored Procedures Using raalvm Oracle Labs Matthias Brantner Safe Harbor Statement The following is intended to outline our general product direction. t is intended

More information

<Insert Picture Here> Adventures in JSR-292 or How To Be A Duck Without Really Trying

<Insert Picture Here> Adventures in JSR-292 or How To Be A Duck Without Really Trying Adventures in JSR-292 or How To Be A Duck Without Really Trying Jim Laskey Multi-language Lead Java Language and Tools Group The following is intended to outline our general product

More information

Eliminating Global Interpreter Locks in Ruby through Hardware Transactional Memory

Eliminating Global Interpreter Locks in Ruby through Hardware Transactional Memory Eliminating Global Interpreter Locks in Ruby through Hardware Transactional Memory Rei Odaira, Jose G. Castanos and Hisanobu Tomari IBM Research and University of Tokyo April 8, 2014 Rei Odaira, Jose G.

More information

Oracle R Technologies

Oracle R Technologies Oracle R Technologies R for the Enterprise Mark Hornick, Director, Oracle Advanced Analytics @MarkHornick mark.hornick@oracle.com Safe Harbor Statement The following is intended to outline our general

More information

Op>onal. The Mother of all Bikesheds. Stuart Marks Core Libraries Java PlaGorm Group, Oracle

Op>onal. The Mother of all Bikesheds. Stuart Marks Core Libraries Java PlaGorm Group, Oracle Op>onal The Mother of all Bikesheds Stuart Marks Core Libraries Java PlaGorm Group, Oracle Copyright 2016, Oracle and/or its affiliates. All rights reserved. Op>onal The Mother of all Bikesheds What is

More information

!1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

!1 Copyright 2013, Oracle and/or its affiliates. All rights reserved. !1 Oracle Applications User Experiences in the Cloud: Trends and Strategy Noel Portugal Principal UX Developer March, 2014!2 Safe Harbor The following is intended to outline our general product direction.

More information

Substrate VM. Copyright 2017, Oracle and/or its affiliates. All rights reserved.

Substrate VM. Copyright 2017, Oracle and/or its affiliates. All rights reserved. Substrate VM 1 Safe Harbor Statement The following is intended to provide some insight into a line of research in Oracle Labs. It is intended for information purposes only, and may not be incorporated

More information

JDK 9, 变化与未来. Xuelei Fan

JDK 9, 变化与未来. Xuelei Fan 2016-4-21 JDK 9, 变化与未来 Xuelei Fan Java 20-Year Topics JDK 9 OpenJDK Community JDK 9 Schedule 2016/05/26 Feature Complete 2016/08/11 All Tests Run 2016/09/01 Rampdown Start 2016/10/20 Zero Bug Bounce 2016/12/01

More information

Alan Bateman Java Platform Group, Oracle November Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1

Alan Bateman Java Platform Group, Oracle November Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1 Alan Bateman Java Platform Group, Oracle November 2018 Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1 Project Loom Continuations Fibers Tail-calls Copyright 2018, Oracle and/or its

More information

Stay Informed During and AEer OpenWorld

Stay Informed During and AEer OpenWorld Stay Informed During and AEer OpenWorld TwiIer: @OracleBigData, @OracleExadata, @Infrastructure Follow #CloudReady LinkedIn: Oracle IT Infrastructure Oracle Showcase Page Oracle Big Data Oracle Showcase

More information

MRI Internals. Koichi Sasada.

MRI Internals. Koichi Sasada. MRI Internals Koichi Sasada ko1@heroku.com MRI Internals towards Ruby 3 Koichi Sasada ko1@heroku.com Today s talk Koichi is working on improving Ruby internals Introduce my ideas toward Ruby 3 Koichi Sasada

More information

Agenda. CSE P 501 Compilers. Java Implementation Overview. JVM Architecture. JVM Runtime Data Areas (1) JVM Data Types. CSE P 501 Su04 T-1

Agenda. CSE P 501 Compilers. Java Implementation Overview. JVM Architecture. JVM Runtime Data Areas (1) JVM Data Types. CSE P 501 Su04 T-1 Agenda CSE P 501 Compilers Java Implementation JVMs, JITs &c Hal Perkins Summer 2004 Java virtual machine architecture.class files Class loading Execution engines Interpreters & JITs various strategies

More information

B U I L D I N G O N T H E G A T E W A Y. Copyright 2015, Oracle and/or its affiliates. All rights reserved.

B U I L D I N G O N T H E G A T E W A Y. Copyright 2015, Oracle and/or its affiliates. All rights reserved. B U I L D I N G O N T H E G A T E W A Y Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

DATA INTEGRATION PLATFORM CLOUD. Experience Powerful Data Integration in the Cloud

DATA INTEGRATION PLATFORM CLOUD. Experience Powerful Data Integration in the Cloud DATA INTEGRATION PLATFORM CLOUD Experience Powerful Integration in the Want a unified, powerful, data-driven solution for all your data integration needs? Oracle Integration simplifies your data integration

More information

JRuby: Bringing Ruby to the JVM

JRuby: Bringing Ruby to the JVM JRuby: Bringing Ruby to the JVM Thomas E. Enebo Aandtech Inc. Charles Oliver Nutter Ventera Corp http://www.jruby.org TS-3059 2006 JavaOne SM Conference Session TS-3059 JRuby Presentation Goal Learn what

More information

Oracle VM Workshop Applica>on Driven Virtualiza>on

Oracle VM Workshop Applica>on Driven Virtualiza>on Oracle VM Workshop Applica>on Driven Virtualiza>on Simon COTER Principal Product Manager Oracle VM & VirtualBox simon.coter@oracle.com hnps://blogs.oracle.com/scoter November 25th, 2015 Copyright 2014

More information

Project Loom Ron Pressler, Alan Bateman June 2018

Project Loom Ron Pressler, Alan Bateman June 2018 Project Loom Ron Pressler, Alan Bateman June 2018 Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1 Safe Harbor Statement The following is intended to outline our general product direction.

More information

Press Release Writing Tips and Tricks for the Enterprise Technology Space

Press Release Writing Tips and Tricks for the Enterprise Technology Space A webinar for Press Release Writing Tips and Tricks for the Enterprise Technology Space Julie Sugishita Corporate Communications Manager Oracle May 19, 2016 julie.sugishita@oracle.com https://www.linkedin.com/in/juliesugishita

More information

RubyConf 2005 Oct. 14 SASADA Koichi Tokyo University of Agriculture and Technology Nihon Ruby no Kai

RubyConf 2005 Oct. 14 SASADA Koichi Tokyo University of Agriculture and Technology Nihon Ruby no Kai YARV Progress Report RubyConf 2005 Oct. 14 SASADA Koichi Tokyo University of Agriculture and Technology Nihon Ruby no Kai Ko1@atdot.net 1 Agenda Self Introduction and Japanese Activities Overview of YARV

More information

SPECIALISING DYNAMIC TECHNIQUES FOR IMPLEMENTING THE RUBY PROGRAMMING LANGUAGE

SPECIALISING DYNAMIC TECHNIQUES FOR IMPLEMENTING THE RUBY PROGRAMMING LANGUAGE SPECIALISING DYNAMIC TECHNIQUES FOR IMPLEMENTING THE RUBY PROGRAMMING LANGUAGE A thesis submitted to the University of Manchester for the degree of Doctor of Philosophy in the Faculty of Engineering and

More information

JDK 9/10/11 and Garbage Collection

JDK 9/10/11 and Garbage Collection JDK 9/10/11 and Garbage Collection Thomas Schatzl Senior Member of Technical Staf Oracle JVM Team May, 2018 thomas.schatzl@oracle.com Copyright 2017, Oracle and/or its afliates. All rights reserved. 1

More information

Ruby AN OVERVIEW. Luigi De Russis Dipartimento di Automatica e Informatica Politecnico di Torino

Ruby AN OVERVIEW. Luigi De Russis Dipartimento di Automatica e Informatica Politecnico di Torino Ruby AN OVERVIEW Luigi De Russis Dipartimento di Automatica e Informatica Politecnico di Torino luigi.derussis@polito.it What is Ruby? Ruby is a dynamic, open source programming language with a focus on

More information

Eclipse Enterprise for Java (EE4J)

Eclipse Enterprise for Java (EE4J) Eclipse Enterprise for Java (EE4J) Presenta)on to Java Community Process Execu)ve Commi5ee Will Lyons Senior Director, Oracle WebLogic Server and Java EE Product Management September 29, 2017 2 Safe Harbor

More information

CSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1

CSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1 CSE P 501 Compilers Java Implementation JVMs, JITs &c Hal Perkins Winter 2008 3/11/2008 2002-08 Hal Perkins & UW CSE V-1 Agenda Java virtual machine architecture.class files Class loading Execution engines

More information

Java ME Directions. JCP F2F - Austin. Florian Tournier - Oracle May 9, Copyright 2017, Oracle and/or its affiliates. All rights reserved.

Java ME Directions. JCP F2F - Austin. Florian Tournier - Oracle May 9, Copyright 2017, Oracle and/or its affiliates. All rights reserved. Java ME Directions JCP F2F - Austin Florian Tournier - Oracle May 9, 2017 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes

More information

Supported Fujitsu BS2000 Servers (page 1) Known Restrictions, Issues, and Workarounds (page 3) Documentation Accessibility (page 8)

Supported Fujitsu BS2000 Servers (page 1) Known Restrictions, Issues, and Workarounds (page 3) Documentation Accessibility (page 8) Oracle Database Release Notes 12c Release 1 (12.1) for Fujitsu BS2000/OSD E74140-02 January 2017 This document describes the features of Oracle Database on Fujitsu BS2000/OSD. This release implements the

More information

Autonomous Data Warehouse in the Cloud

Autonomous Data Warehouse in the Cloud AUTONOMOUS DATA WAREHOUSE CLOUD` Connecting Your To Autonomous in the Cloud DWCS What is It? Oracle Autonomous Database Warehouse Cloud is fully-managed, highperformance, and elastic. You will have all

More information

Planned EnterpriseOne Upgrade Innovations

Planned EnterpriseOne Upgrade Innovations Planned EnterpriseOne Upgrade Innovations Upgrade Roundtable Eric Maikranz Chief Customer Officer JD Edwards Development Clayton Seeley Product Manager JD Edwards Development Copyright 2015, Oracle and/or

More information

The Z Garbage Collector An Introduction

The Z Garbage Collector An Introduction The Z Garbage Collector An Introduction Per Lidén & Stefan Karlsson HotSpot Garbage Collection Team FOSDEM 2018 Safe Harbor Statement The following is intended to outline our general product direction.

More information

MySQL CLOUD SERVICE. Propel Innovation and Time-to-Market

MySQL CLOUD SERVICE. Propel Innovation and Time-to-Market MySQL CLOUD SERVICE Propel Innovation and Time-to-Market The #1 open source database in Oracle. Looking to drive digital transformation initiatives and deliver new modern applications? Oracle MySQL Service

More information

2011 Oracle Corporation and Affiliates. Do not re-distribute!

2011 Oracle Corporation and Affiliates. Do not re-distribute! How to Write Low Latency Java Applications Charlie Hunt Java HotSpot VM Performance Lead Engineer Who is this guy? Charlie Hunt Lead JVM Performance Engineer at Oracle 12+ years of

More information

Java 9: Tips on MigraDon and Upgradability

Java 9: Tips on MigraDon and Upgradability Java 9: Tips on MigraDon and Upgradability Bernard Traversat Vice President of Development Java SE PlaJorm Oracle November, 2017 Copyright 2017, Oracle and/or its affiliates. All rights reserved. ConfidenDal

More information

Oracle Enterprise Manager 12c Sybase ASE Database Plug-in

Oracle Enterprise Manager 12c Sybase ASE Database Plug-in Oracle Enterprise Manager 12c Sybase ASE Database Plug-in May 2015 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only,

More information

Java: framework overview and in-the-small features

Java: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer Java: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer

More information

1/10/16. RPC and Clocks. Tom Anderson. Last Time. Synchroniza>on RPC. Lab 1 RPC

1/10/16. RPC and Clocks. Tom Anderson. Last Time. Synchroniza>on RPC. Lab 1 RPC RPC and Clocks Tom Anderson Go Synchroniza>on RPC Lab 1 RPC Last Time 1 Topics MapReduce Fault tolerance Discussion RPC At least once At most once Exactly once Lamport Clocks Mo>va>on MapReduce Fault Tolerance

More information

Lisp to Ruby to Rubinius

Lisp to Ruby to Rubinius Lisp to Ruby to Rubinius ネットワーク応用通信研究所楽天技術研究所 Ruby アソシエーション @yukihiro_matz Yukihiro "Matz" Matsumoto Lisp 1/59 Lisp one of the oldest O-Parts out of place artifact 2/59 O-Parts of the language oldest but

More information

Parsing Scheme (+ (* 2 3) 1) * 1

Parsing Scheme (+ (* 2 3) 1) * 1 Parsing Scheme + (+ (* 2 3) 1) * 1 2 3 Compiling Scheme frame + frame halt * 1 3 2 3 2 refer 1 apply * refer apply + Compiling Scheme make-return START make-test make-close make-assign make- pair? yes

More information

Oracle Secure Backup 12.2 What s New. Copyright 2018, Oracle and/or its affiliates. All rights reserved.

Oracle Secure Backup 12.2 What s New. Copyright 2018, Oracle and/or its affiliates. All rights reserved. Oracle Secure Backup 12.2 What s New Copyright 2018, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The following is intended to outline our general product direction. It is intended

More information

z Systems Sandbox in the cloud A New Way to Learn

z Systems Sandbox in the cloud A New Way to Learn z Systems Sandbox in the cloud A New Way to Learn Mike Fulton IBM Dis@nguished Engineer Master Inventor fultonm@ca.ibm.com Why z Systems are Amazing 92 10 Continued aggressive investment/ innovation out

More information

Oracle Enterprise Manager 12c IBM DB2 Database Plug-in

Oracle Enterprise Manager 12c IBM DB2 Database Plug-in Oracle Enterprise Manager 12c IBM DB2 Database Plug-in May 2015 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and

More information

UDO Management Usability Net Change (TR 9.2.3)

UDO Management Usability Net Change (TR 9.2.3) UDO Management Usability Net Change (TR 9.2.3) November 8, 2018 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and

More information

Ruby on Rails TKK, Otto Hilska

Ruby on Rails TKK, Otto Hilska Ruby on Rails intro @ TKK, 25.5.2009 Otto Hilska 1 Today s agenda 1. The Ruby programming language 2. Ruby on Rails framework 3. An example project 2 About me Started Nodeta Oy in 2004 10+ employees always

More information

Why Rails and Design for an Applica5on

Why Rails and Design for an Applica5on Why Rails and Design for an Applica5on CITS3403 Agile Web Development Reference: Ruby et al, Chapter 5 First there was Ruby... Ruby is the interpreted scripting language for quick and easy objectoriented

More information

Continuous delivery of Java applications. Marek Kratky Principal Sales Consultant Oracle Cloud Platform. May, 2016

Continuous delivery of Java applications. Marek Kratky Principal Sales Consultant Oracle Cloud Platform. May, 2016 Continuous delivery of Java applications using Oracle Cloud Platform Services Marek Kratky Principal Sales Consultant Oracle Cloud Platform May, 2016 Safe Harbor Statement The following is intended to

More information

One VM, Many Languages

One VM, Many Languages One VM, Many Languages John Rose Brian Goetz Oracle Corporation 9/20/2010 The following is intended to outline our general product direction. It is intended for information purposes

More information

Cog VM Evolution. Clément Béra. Thursday, August 25, 16

Cog VM Evolution. Clément Béra. Thursday, August 25, 16 Cog VM Evolution Clément Béra Cog VM? Smalltalk virtual machine Default VM for Pharo Squeak Newspeak Cuis Cog Philosophy Open source (MIT) Simple Is the optimization / feature worth the added complexity?

More information

Ruby Debugger for Ruby 1.9

Ruby Debugger for Ruby 1.9 Ruby Debugger for Ruby 1.9 Zhang Chiyuan pluskid@gmail.com March 31, 2008 Abstract Most experienced programmers admit that debug is boring yet taking up most of our developing time. Using TDD (Test-driven

More information

Baggy bounds checking. Periklis Akri5dis, Manuel Costa, Miguel Castro, Steven Hand

Baggy bounds checking. Periklis Akri5dis, Manuel Costa, Miguel Castro, Steven Hand Baggy bounds checking Periklis Akri5dis, Manuel Costa, Miguel Castro, Steven Hand C/C++ programs are vulnerable Lots of exis5ng code in C and C++ More being wrieen every day C/C++ programs are prone to

More information

Unleash the power of Essbase Custom Defined Functions

Unleash the power of Essbase Custom Defined Functions Unleash the power of Essbase Custom Defined Functions Toufic Wakim, Architect 06/27/2011 Safe Harbor Statement The following is intended to outline our general product direction.

More information

The Script Bowl Featuring Groovy, JRuby, Jython and Scala. Raghavan Rags N. Srinivas CTO, Technology Evangelism

The Script Bowl Featuring Groovy, JRuby, Jython and Scala. Raghavan Rags N. Srinivas CTO, Technology Evangelism The Script Bowl Featuring Groovy, JRuby, Jython and Scala Raghavan Rags N. Srinivas CTO, Technology Evangelism The Script Bowl: Groovy Style Guillaume Laforge VP Technology at G2One, Inc. Groovy Project

More information

MySQL Enterprise Security

MySQL Enterprise Security MySQL Enterprise Security Mike Frank Product Management Director Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only,

More information

Embedding Tensorflow in applica4ons. Daniël de Kok

Embedding Tensorflow in applica4ons. Daniël de Kok Embedding Tensorflow in applica4ons Daniël de Kok Introduc)on You have learned about Deep Learning in NLP. You can construct computa;on graphs in Tensorflow. You know how to op;mize model parameters. But

More information

<Insert Picture Here> QCon: London 2009 Data Grid Design Patterns

<Insert Picture Here> QCon: London 2009 Data Grid Design Patterns QCon: London 2009 Data Grid Design Patterns Brian Oliver Global Solutions Architect brian.oliver@oracle.com Oracle Coherence Oracle Fusion Middleware Product Management Agenda Traditional

More information

Fusion Product Hub Training Data Governance: Business Rules and Impact Analysis. July 2014

Fusion Product Hub Training Data Governance: Business Rules and Impact Analysis. July 2014 Fusion Product Hub Training Data Governance: Business Rules and Impact Analysis July 2014 Copyright 2014 Oracle and/or its affiliates. All rights reserved. Oracle Confidential Internal/Restricted/Highly

More information

PeopleSoft Fluid Required Fields Standards

PeopleSoft Fluid Required Fields Standards ORACLE CORPORATION PeopleSoft Fluid Required Fields Standards Fluid User Experience November 2015 PeopleSoft Fluid Required Fields Standards Copyright 2015, Oracle and/or its affiliates. All rights reserved.

More information

code://rubinius/technical

code://rubinius/technical code://rubinius/technical /GC, /cpu, /organization, /compiler weeee!! Rubinius New, custom VM for running ruby code Small VM written in not ruby Kernel and everything else in ruby http://rubini.us git://rubini.us/code

More information

CS 360 Programming Languages Interpreters

CS 360 Programming Languages Interpreters CS 360 Programming Languages Interpreters Implementing PLs Most of the course is learning fundamental concepts for using and understanding PLs. Syntax vs. semantics vs. idioms. Powerful constructs like

More information

Java and C II. CSE 351 Spring Instructor: Ruth Anderson

Java and C II. CSE 351 Spring Instructor: Ruth Anderson Java and C II CSE 351 Spring 2017 Instructor: Ruth Anderson Teaching Assistants: Dylan Johnson Kevin Bi Linxing Preston Jiang Cody Ohlsen Yufang Sun Joshua Curtis Administrivia Lab 5 Due TONIGHT! Fri 6/2

More information

Ruby.NET: A Ruby Compiler for the Common Language Infrastructure. Wayne Kelly and John Gough

Ruby.NET: A Ruby Compiler for the Common Language Infrastructure. Wayne Kelly and John Gough Ruby.NET: A Ruby Compiler for the Common Language Infrastructure Wayne Kelly and John Gough Faculty of Information Technology Queensland University of Technology 2 George Street, GPO 2434, Brisbane QLD

More information

Modules and Services. Alex Buckley Java Platform Group, Oracle October Copyright 2017, Oracle and/or its affiliates. All rights reserved.

Modules and Services. Alex Buckley Java Platform Group, Oracle October Copyright 2017, Oracle and/or its affiliates. All rights reserved. Modules and Services Alex Buckley Java Platform Group, Oracle October 2017 Copyright 2017, Oracle and/or its affiliates. All rights reserved. I. Introduction to Services II. Using Services for Optional

More information

RUBY IS A PURE OBJECT-ORIENTED interpreted language.

RUBY IS A PURE OBJECT-ORIENTED interpreted language. Proceedings of the Federated Conference on Computer Science and Information Systems pp. 947 952 DOI: 10.15439/2015F99 ACSIS, Vol. 5 Ruby Benchmark Tool using Docker Richard Ludvigh, Tomáš Rebok Faculty

More information

1 Copyright 2012, Oracle and/or its affiliates. All rights reserved.

1 Copyright 2012, Oracle and/or its affiliates. All rights reserved. 1 Copyright 2012, Oracle and/or its affiliates. All rights reserved. Truffle: A Self-Optimizing Runtime System Thomas Wuerthinger Oracle Labs JVM Language Summit, July 31, 2012 2 Copyright 2012, Oracle

More information

Oracle WebCenter Portal Performance Tuning

Oracle WebCenter Portal Performance Tuning ORACLE PRODUCT LOGO Oracle WebCenter Portal Performance Tuning Rich Nessel - Principal Product Manager Christina Kolotouros - Product Management Director 1 Copyright 2011, Oracle and/or its affiliates.

More information

Callisto-RTS: Fine-Grain Parallel Loops

Callisto-RTS: Fine-Grain Parallel Loops Callisto-RTS: Fine-Grain Parallel Loops Tim Harris, Oracle Labs Stefan Kaestle, ETH Zurich 7 July 2015 The following is intended to provide some insight into a line of research in Oracle Labs. It is intended

More information

Connecting your Microservices and Cloud Services with Oracle Integration CON7348

Connecting your Microservices and Cloud Services with Oracle Integration CON7348 Connecting your Microservices and Cloud Services with Oracle Integration CON7348 Robert Wunderlich Sr. Principal Product Manager September 19, 2016 Copyright 2016, Oracle and/or its affiliates. All rights

More information

Welcome to the session...

Welcome to the session... Welcome to the session... Copyright 2013, Oracle and/or its affiliates. All rights reserved. 02/22/2013 1 The following is intended to outline our general product direction. It is intended for information

More information

hashfs Applying Hashing to Op2mize File Systems for Small File Reads

hashfs Applying Hashing to Op2mize File Systems for Small File Reads hashfs Applying Hashing to Op2mize File Systems for Small File Reads Paul Lensing, Dirk Meister, André Brinkmann Paderborn Center for Parallel Compu2ng University of Paderborn Mo2va2on and Problem Design

More information

JRuby and Ioke. On Google AppEngine. Ola Bini

JRuby and Ioke. On Google AppEngine. Ola Bini JRuby and Ioke On Google AppEngine Ola Bini ola.bini@gmail.com http://olabini.com/blog Vanity slide ThoughtWorks consultant/developer/programming language geek JRuby Core Developer From Stockholm, Sweden

More information

Oracle Mul*tenant. The Bea'ng Heart of Database as a Service. Debaditya Cha9erjee Senior Principal Product Manager Oracle Database, Product Management

Oracle Mul*tenant. The Bea'ng Heart of Database as a Service. Debaditya Cha9erjee Senior Principal Product Manager Oracle Database, Product Management Oracle Mul*tenant The Bea'ng Heart of Database as a Service Debaditya Cha9erjee Senior Principal Product Manager Oracle Database, Product Management Safe Harbor Statement The following is intended to outline

More information

EDAN65: Compilers, Lecture 13 Run;me systems for object- oriented languages. Görel Hedin Revised:

EDAN65: Compilers, Lecture 13 Run;me systems for object- oriented languages. Görel Hedin Revised: EDAN65: Compilers, Lecture 13 Run;me systems for object- oriented languages Görel Hedin Revised: 2014-10- 13 This lecture Regular expressions Context- free grammar ATribute grammar Lexical analyzer (scanner)

More information

Enhanced Stuart Marks aka Dr Deprecator JDK Core Libraries Java PlaJorm Group, Oracle

Enhanced Stuart Marks aka Dr Deprecator JDK Core Libraries Java PlaJorm Group, Oracle Enhanced Depreca@on Stuart Marks aka Dr Deprecator JDK Core Libraries Java PlaJorm Group, Oracle Copyright 2016, Oracle and/or its affiliates. All rights reserved. Enhanced Depreca@on Concepts & History

More information

The Z Garbage Collector Low Latency GC for OpenJDK

The Z Garbage Collector Low Latency GC for OpenJDK The Z Garbage Collector Low Latency GC for OpenJDK Per Lidén & Stefan Karlsson HotSpot Garbage Collection Team Jfokus VM Tech Summit 2018 Safe Harbor Statement The following is intended to outline our

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Copyright 2012, Oracle and/or its affiliates. All rights reserved. 1 Jump-Starting Lambda Stuart Marks @stuartmarks Mike Duigou @mjduigou Oracle JDK Core Libraries Team 2 What is Lambda? Essentially an anonymous function allows one to treat code as data provides parameterization

More information

Direc>ons in Distributed Compu>ng

Direc>ons in Distributed Compu>ng Direc>ons in Distributed Compu>ng Robert Shimp Group Vice President August 23, 2016 Copyright 2016 Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The following is intended to outline

More information

Oracle Application Container Cloud

Oracle Application Container Cloud Oracle Application Container Cloud Matthew Baldwin Principal Product Manager Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes

More information

Advanced Modular Development

Advanced Modular Development Advanced Modular Development Alan Bateman Alex Buckley Java Platform Group, Oracle September 2016 Copyright 2016, Oracle and/or its affiliates. All rights reserved. Sessions 1 2 3 4 5 Prepare for JDK 9

More information

Oracle Database 18c and Autonomous Database

Oracle Database 18c and Autonomous Database Oracle Database 18c and Autonomous Database Maria Colgan Oracle Database Product Management March 2018 @SQLMaria Safe Harbor Statement The following is intended to outline our general product direction.

More information

Oracle Utilities & Opower: A Powerful Vision Oracle Utilities Strategy and Solution Overview

Oracle Utilities & Opower: A Powerful Vision Oracle Utilities Strategy and Solution Overview Oracle Utilities & Opower: A Powerful Vision Oracle Utilities Strategy and Solution Overview Dan Byrnes Group VP, Products Dan Yates SVP, Strategy, Delivery and Marketing Utilities Global Business Unit

More information

Everything You Need to Know About MySQL Group Replication

Everything You Need to Know About MySQL Group Replication Everything You Need to Know About MySQL Group Replication Luís Soares (luis.soares@oracle.com) Principal Software Engineer, MySQL Replication Lead Copyright 2017, Oracle and/or its affiliates. All rights

More information

What's New in MySQL 5.7?

What's New in MySQL 5.7? What's New in MySQL 5.7? Norvald H. Ryeng Software Engineer norvald.ryeng@oracle.com Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information

More information