Thomas Wuerthinger
@thomaswue
• 26 Sep 2014
1st time available for download: Graal VM and Truffle/JavaScript! Early birds, go ahead ;). http://www.oracle.com/technetwork/oracle-labs/program-languages/overview/index.html! 40 33
Thomas Wuerthinger
@thomaswue
• 18 Jul 2016
An excellent article about Graal & Truffle by Mike Hearn. Probably the best explanation of the technologies so far. medium.com/@octskyward/graal-truffle-134d8f28fb69#.7gdmnjb6g82 107
Thomas Wuerthinger
@thomaswue
• 08 Nov 2016
Graal now works with @java JDK 9 Early Access Release b143! http://mail.openjdk.java.net/pipermail/graal-dev/2016-November/004631.html24 25
Thomas Wuerthinger
@thomaswue
• 02 May 2017
Slides of my ICPE'17 keynote "Micro-Benchmarking Considered Harmful" now available at: microbenchmarking-considered-harmful14 29
Thomas Wuerthinger
@thomaswue
• 02 Aug 2017
Great talk + demos on running @java @kotlin @scala_lang AOT compiled with fast startup & low footprint via @graal! https://www.youtube.com/watch?v=5BMHIeMXTqA18 28
Thomas Wuerthinger
@thomaswue
• 02 Oct 2017
#TwitterVMTeam on why to use Graal. #javaone2017 20 29
Thomas Wuerthinger
@thomaswue
• 02 Oct 2017
Your tweets are sent around by code run by the Graal compiler in production 👍! #TwitterVMTeam #JavaOne2017 #GraalVM 19 38
Thomas Wuerthinger
@thomaswue
• 04 Oct 2017
Very excited that beta of #Oracle #Database #Multilingual engine powered by #Graal is available for the first time!!! 🏆🚀 x.com/geraldvenzl/status/91533091440139878416 21
Thomas Wuerthinger
@thomaswue
• 13 Dec 2017
Huge commit landed in the Graal 🚀 open source repository! A multiyear team effort designing a new meta-circular VM for running & embedding Graal: github.com/graalvm/graal/commit/9fa7c846939876 116
Thomas Wuerthinger
@thomaswue
• 05 Jan 2018
"Graal can do a very good job with Scala code" -- Chris Thalinger on why @Twitter is using Graal for running their platform. /CC @scala_lang youtu.be/MFevkAKVTqU?t=1m29s x.com/java/status/94937356428469043220 42
Thomas Wuerthinger
@thomaswue
• 07 Jan 2018
Experimental Graal patch for spectre attack mitigation performing min(index, length-1) without branching before every array access: github.com/graalvm/graal/pull/27917 32
Thomas Wuerthinger
@thomaswue
• 31 Jan 2018
Great news for the Graal project 🏆! @shelajev joins the team as developer advocate. He will help fulfilling the mission of the Graal project: Making programs run faster and developers more productive 🚀! Expect to hear a lot more from us in 2018. Stay tuned... x.com/shelajev/status/9587921784693596167 30
Thomas Wuerthinger
@thomaswue
• 17 Apr 2018
After 7 years of research and development, we are ready to publish the first 1.0 release of #GraalVM! Looking back at these 7 years and how the project evolved from just a wild speculative idea is quite overwhelming. https://www.graalvm.org x.com/graalvm/status/986269218017509378264 549
Thomas Wuerthinger
@thomaswue
• 18 Apr 2018
Nice to see github.com/oracle/graal GitHub trending #1 today. Was about time after 23968 commits 😉! 17 53
Thomas Wuerthinger
@thomaswue
• 22 Apr 2018
Relaxing (mentally) in Swiss mountains after #GraalVM release stress... 0 63
Thomas Wuerthinger
@thomaswue
• 25 Apr 2018
#GraalVM is designed to support a diverse set of use cases. Here is an article about the "Top 10 Things To Do With GraalVM": medium.com/graalvm/graalvm-ten-things-12d9111f307d x.com/graalvm/status/98917991599097856337 71
Thomas Wuerthinger
@thomaswue
• 03 May 2018
Great thing about @oraclelabs is that our VPs can give live coding demos 💻 of our technologies instead of just high-level marketing slides. Here #GraalVM running in the Oracle database presented by @EricSedlar! x.com/dovdor/status/9918616777201254409 28
Thomas Wuerthinger
@thomaswue
• 27 Jul 2018
Excited to see initial work on making the Spring Framework run with #GraalVM native images! x.com/springcentral/status/10228745925940756484 23
Thomas Wuerthinger
@thomaswue
• 04 Oct 2018
One quite relevant aspect of this release candidate: Licensing of Truffle and Graal SDK changed from GPLv2+CPE to the more permissive Universal Public License (UPL) opensource.org/licenses/UPL. x.com/graalvm/status/10475058618815488059 22
Thomas Wuerthinger
@thomaswue
• 06 Nov 2018
One of the crazy ideas explored in the #GraalVM project that turned out to enable exciting new use cases: Dynamic compilation and sandboxed secure execution for C/C++ and other native code! x.com/graalvm/status/105978840841816883226 49
Thomas Wuerthinger
@thomaswue
• 11 Nov 2018
And with #GraalVM isolates one can run any of the GraalVM languages including Ruby, Python, R or Java in such efficient way. #containerless x.com/seldo/status/106146131876555571324 52
Thomas Wuerthinger
This is measuring the community edition of the Graal compiler. The GraalVM enterprise edition available from www.oracle.com/technetwork/oracle-labs/program-languages/downloads/index.html should be even faster. x.com/ramtop/status/1071681214082359297
@thomaswue
• 09 Dec 2018
From the article: "To be honest, I didn’t expect such big difference in performance. Graal is about 18% faster than C2!"This is measuring the community edition of the Graal compiler. The GraalVM enterprise edition available from www.oracle.com/technetwork/oracle-labs/program-languages/downloads/index.html should be even faster. x.com/ramtop/status/1071681214082359297
16 26
Thomas Wuerthinger
@thomaswue
• 31 Dec 2018
Best of #GraalVM in 2018 with links to talks from @christhalinger (Twitter), @jsahaynes (Goldman Sachs), @sdeleuze (Pivotal), @graemerocher (Micronaut), @petr_zapletal (Disney Streaming), @janstepien (INNOQ). Looking forward to the new year and more interesting work with GraalVM! x.com/graalvm/status/107973414337685504117 42
Thomas Wuerthinger
@thomaswue
• 10 Mar 2019
Great blog post by @emmanuelbernard on why startup time and memory footprint matters and how @GraalVM native images help @QuarkusIO achieve a high score on the requests/s/MB metric. x.com/emmanuelbernard/status/110402170794008166914 30
Thomas Wuerthinger
@thomaswue
• 31 Mar 2019
The @GraalVM native image processes certainly use less energy due to lower memory consumption, less initialization work during startup, and no effort spent on JIT compilation. x.com/chochosmx/status/11120180033974312964 27
Thomas Wuerthinger
Quick measurements show these numbers on my machine:
GraalVM compiler: abstracted <> 480 ops/us, raw <> 490 ops/us
C2 compiler: abstracted <> 50 ops/us, raw <> 410 ops/us
🚀 x.com/tagir_valeev/status/1113790612879347714
@thomaswue
• 05 Apr 2019
Yes. #GraalVM fully eliminates the array creation and boxes for that Objects#hash call.Quick measurements show these numbers on my machine:
GraalVM compiler: abstracted <> 480 ops/us, raw <> 490 ops/us
C2 compiler: abstracted <> 50 ops/us, raw <> 410 ops/us
🚀 x.com/tagir_valeev/status/1113790612879347714
22 73
Thomas Wuerthinger
@thomaswue
• 05 Apr 2019
First release candidate where the @GraalVM compiler is using native-image to precompile itself when running in the HotSpot VM for improved startup and warmup behavior. Meta-circularity for the win 😀 ! x.com/graalvm/status/1114226362141872129101 256
Thomas Wuerthinger
@thomaswue
• 18 Apr 2019
Extremely lightweight REST services with @QuarkusIO and @GraalVM native images. t.co/jqkqJPNAZn6 29
Thomas Wuerthinger
@thomaswue
• 23 Apr 2019
New @GraalVM release candidate. Among the usual stability and performance improvements, it works now correctly with the @helidon_project demo blog post by @m0mus at medium.com/oracledevs/helidon-flies-faster-with-graalvm-eea85287d2dc. Check it out for creating lightweight Java microservices! x.com/graalvm/status/112078232265417113621 36
Thomas Wuerthinger
@thomaswue
• 08 May 2019
Meet some of the highly dedicated engineers behind the @GraalVM 🏆 project! Working with them as well as the larger community to make programs run faster 🚀 is productive and inspiring 👍. @alexprokopec @FFarquet @WoodenGil @cosbas @YudiZheng www.youtube.com/watch?v=KA5NqfikoQ025 45
Thomas Wuerthinger
@thomaswue
• 12 May 2019
Time for relaxing and recharging before going back to the fast-paced innovating team 👨🏾💻👩🏼💻. We hit another milestone with 19.0, but the @graalvm story is just beginning... 🍸🚀 5 76
Thomas Wuerthinger
@thomaswue
• 06 Jun 2019
The GraalVM tracing agent can be used to find out about JNI, proxy, resource, and reflection usage of Java applications. Just run the regular java command in the GraalVM 19.0 installation with the flag "-agentlib:native-image-agent" and it generates a directory with the trace. x.com/graalvm/status/113631609987889561727 43
Thomas Wuerthinger
@thomaswue
• 13 Jun 2019
Thanks for all the great feedback and interesting conversations at our booth at @ScalaDays. Very motivating to meet so many users and early adopters from this awesome community. Run Scala faster with @GraalVM 😉🚀! 15 61
Thomas Wuerthinger
✅ startup time
✅ peak throughput
✅ memory footprint
✅ max latency
✅ packaging size
@thomaswue
• 23 Jun 2019
Speaking at @qconnewyork this week about maximizing performance with @graalvm 🚀! Either via its JIT or AOT mode and depending how much you care about:✅ startup time
✅ peak throughput
✅ memory footprint
✅ max latency
✅ packaging size
15 35
Thomas Wuerthinger
For JIT:
$GRAALVM_HOME/bin/java MyClass
For AOT:
$GRAALVM_HOME/bin/native-image MyClass
./myclass
@thomaswue
• 01 Jul 2019
Main performance trade-offs between just-in-time (JIT) and ahead-of-time (AOT) compilation. With @graalvm you have both options.For JIT:
$GRAALVM_HOME/bin/java MyClass
For AOT:
$GRAALVM_HOME/bin/native-image MyClass
./myclass
180 401
Thomas Wuerthinger
@thomaswue
• 19 Jul 2019
Podcast together with @infoq @wesreisz about @graalvm and ahead-of-time (AOT) versus just-in-time (JIT) compilation: infoq.com/podcasts/graalvm-optimizing-java/25 49
Thomas Wuerthinger
@thomaswue
• 30 Jul 2019
Recording of my recent talk at @qconnewyork about maximizing performance with @graalvm is now online: infoq.com/presentations/graalvm-performance/19 47
Thomas Wuerthinger
@thomaswue
• 23 Aug 2019
Proud of the team behind this massive effort; only a fraction of which is currently getting the main attention. We are still adding full time and internship positions. Please send me a DM if you want to help making the @graalvm vision a reality! x.com/graalvm/status/116493870778440909014 47
Thomas Wuerthinger
@thomaswue
• 27 Aug 2019
Great to see @lightbend embrace @graalvm for @CloudstateIO: "GraalVM’s native-image support brings greater startup speed and a smaller virtual machine footprint, and promises to open up new serverless opportunities for JVM-based architectures." 🏆🚀globenewswire.com/news-release/2019/08/27/1906965/0/en/Lightbend-Launches-Open-Source-Project-CloudState-to-Advance-Stateful-Workloads-on-Knative-Kubernetes-Serverless-Stack.html14 31
Thomas Wuerthinger
@thomaswue
• 29 Aug 2019
Every time when I am using git blame to check who could possibly write such terrible code... 2 73
Thomas Wuerthinger
@thomaswue
• 10 Sep 2019
Happy about another large scale production deployment of @GraalVM that makes a substantial difference. +10% throughput, -25% GC times. And we are certainly not stopping here 😉. x.com/graalvm/status/117137161182141644817 48
Thomas Wuerthinger
➡️Tue 11am: @GraalVM Vision and Roadmap
➡️Mon 5pm: JavaScript and Node.js + GraalVM
➡️Wed 4pm: Maximizing Performance (AOT vs JIT)
Send a DM for informal chats or meet me Mon 2:30pm at the @Groundbreakers hub.
catalogcodeone19?search=%22thomas%20wuerthinger%22
@thomaswue
• 11 Sep 2019
My talks at @OracleCodeOne next week:➡️Tue 11am: @GraalVM Vision and Roadmap
➡️Mon 5pm: JavaScript and Node.js + GraalVM
➡️Wed 4pm: Maximizing Performance (AOT vs JIT)
Send a DM for informal chats or meet me Mon 2:30pm at the @Groundbreakers hub.
catalogcodeone19?search=%22thomas%20wuerthinger%22
4 27
Thomas Wuerthinger
@thomaswue
• 16 Sep 2019
The Python implementation of @graalvm starts up faster than CPython thanks to native image as presented by @timfelgentreff at #OracleCodeOne. 8 34
Thomas Wuerthinger
@thomaswue
• 17 Sep 2019
Reactive @Java performance 10% better with @GraalVM CE and 2x (!) better with GraalVM EE compared to C2/OpenJDK as presented by @OlehDokuka, committee of @ProjectReactor. 16 41
Thomas Wuerthinger
@thomaswue
• 17 Sep 2019
On the new "always free" compute @OracleCloud offer with 2GB memory you should be able to run at least 60 microservice processes via @GraalVM EE native images 😎. Of course also for free! x.com/recursivecodes/status/117375522230632857626 88
Thomas Wuerthinger
@thomaswue
• 17 Sep 2019
Oracle Chief Corporate Architect Edward Screvens showing the startup improvements from @GraalVM native images for @helidon_project. That “bar” on the right is barely visible, because GraalVM is so fast 🚀! 15 37
Thomas Wuerthinger
@thomaswue
• 18 Sep 2019
What’s next for @graalvm native images as presented by SubstrateVM team lead Christian Wimmer at #OracleCodeOne. 15 48
Thomas Wuerthinger
@thomaswue
• 20 Sep 2019
infoworld.com/article/3439839/oracle-pits-graalvm-against-google-go.html20 59
Thomas Wuerthinger
Learn about the trade-offs between GraalVM's JIT mode and its AOT mode. And watch a live demo optimizing requests/Megabyte-second for a @micronautfw example.
@thomaswue
• 20 Sep 2019
Recording of my talk about maximizing performance with @GraalVM at OracleCodeOne is online: youtube.com/watch?time_continue=1&v=kf5NDRiXfdcLearn about the trade-offs between GraalVM's JIT mode and its AOT mode. And watch a live demo optimizing requests/Megabyte-second for a @micronautfw example.
55 180
Thomas Wuerthinger
@thomaswue
• 30 Sep 2019
They will need to introduce smaller instance sizes. Billed for 128 MB, but used only 23 MB. Reduce your cloud resource usage with @GraalVM. x.com/domdorn/status/11783360569172869147 22
Thomas Wuerthinger
@thomaswue
• 30 Sep 2019
Great to see another open source language implementation on top of @GraalVM! Quite some of the design of the project (like the language interop via message passing) have been influenced by the research results of Smalltalk as well as the Self language (en.wikipedia.org/wiki/Self_(programming_language)). x.com/fniephaus/status/117861796272457728013 43
Thomas Wuerthinger
@thomaswue
• 02 Oct 2019
Thank you @ilopmar and @micronautfw for the excellent open source collaboration. Their CI detected an issue immediately after we merged code into our master branch. Now we merged the fix and could get the confirmation that it works. https://github.com/oracle/graal/issues/166814 47
Thomas Wuerthinger
Максимальная производительность с универсальной виртуальной машиной GraalVM 🏆🚀.
jokerconf.com/en/2019/talks/3w3vp6pmh3ch
@thomaswue
• 07 Oct 2019
Excited to be speaking about @GraalVM at #JokerConf organized by @JUGru in Saint Petersburg 🇷🇺 on Oct 26th!Максимальная производительность с универсальной виртуальной машиной GraalVM 🏆🚀.
jokerconf.com/en/2019/talks/3w3vp6pmh3ch
9 34
Thomas Wuerthinger
@thomaswue
• 08 Oct 2019
Great to see @springjuergen mention @GraalVM (both JIT and AOT mode) in the @s1p keynote as one of the themes related to runtime efficiency! We are indeed excited to work with the @sdeleuze and others from the @springframework team to optimize Spring-based workloads. 13 37
Thomas Wuerthinger
@thomaswue
• 10 Oct 2019
Attracting top talent to the project is a #1 priority for us, because it is the main factor driving success for GraalVM over the long run. In addition to the expanded internship program, we also offer full time positions (remote too). Let's make programs run faster anywhere 😉. x.com/graalvm/status/118230066393984614420 54
Thomas Wuerthinger
Thesis: http://ssw.jku.at/Research/Papers/Wuerthinger07Master/ Paper: http://ssw.jku.at/Research/Papers/Wuerthinger08/
It uses @netbeans Visual Library platform.netbeans.org/graph/
⬇️at: oracle.com/downloads/graalvm-downloads.html x.com/tagir_valeev/status/1187639491131039745
@thomaswue
• 25 Oct 2019
First version of this compiler graph visualizer was my master thesis project 12 years ago in 2007 (targeting C2 IR initially).Thesis: http://ssw.jku.at/Research/Papers/Wuerthinger07Master/ Paper: http://ssw.jku.at/Research/Papers/Wuerthinger08/
It uses @netbeans Visual Library platform.netbeans.org/graph/
⬇️at: oracle.com/downloads/graalvm-downloads.html x.com/tagir_valeev/status/1187639491131039745
16 63
Thomas Wuerthinger
@thomaswue
• 03 Nov 2019
Looking forward to next week’s deep dive about @GraalVM at @Devoxx Belgium 🇧🇪 together with @shelajev on Monday. And also the regular conference talk on Wednesday: https://devoxx.be/talk/?id=52080 Run programs faster anywhere! 🏆🚀9 31
Thomas Wuerthinger
@thomaswue
• 05 Nov 2019
The classes and packages going into the @graalvm native image for an example application visualized as a tree map. @shelajev at #Devoxx 6 23
Thomas Wuerthinger
@thomaswue
• 06 Nov 2019
Instant startup for @springboot 2.2 via @graalvm native images as presented by @sdeleuze at #Devoxx! 36 99
Thomas Wuerthinger
@thomaswue
• 06 Nov 2019
Specific benefits for @graalvm by @QuarkusIO as presented by @emmanuelbernard at #Devoxx! 13 29
Thomas Wuerthinger
@thomaswue
• 07 Nov 2019
Watch this excellent presentation by @sdeleuze about @GraalVM from the perspective of @springboot! Includes benchmark numbers also for JIT mode and a small native image example that he compiles in 6 seconds on his laptop. Also, demoing the Petclinic application. x.com/sdeleuze/status/119234852247925964814 39
Thomas Wuerthinger
3 parts:
➡️JIT compiler & optimizations
➡️AOT native images
➡️Polyglot programming
@thomaswue
• 08 Nov 2019
Thank you #Devoxx for a great conference and specially the brave attendees who sat through my 3 hour session with @shelajev on the @graalvm deep dive. Recording is online: youtube.com/watch?v=ANN9rxYo5Hg3 parts:
➡️JIT compiler & optimizations
➡️AOT native images
➡️Polyglot programming
20 58
Thomas Wuerthinger
@thomaswue
• 14 Nov 2019
Two bots having a chat in one of our PRs 😉. github.com/oracle/truffleruby/pull/1810 14 61
Thomas Wuerthinger
@thomaswue
• 23 Nov 2019
Today's unveiling event for several cross-border high speed trains in Zurich. Glad to see Switzerland 🇨🇭, France 🇫🇷, Italy 🇮🇹, and Germany 🇩🇪 bet together on sustainable high speed transportation for everybody! #cybertrain 9 51
Thomas Wuerthinger
Taipei 🇹🇼
Seoul 🇰🇷
Tokyo 🇯🇵
Shanghai 🇨🇳
Singapore 🇸🇬
Sydney 🇦🇺🦘🐊
Send me a DM if you are located in one of these cities and are interested to meet!
@thomaswue
• 30 Nov 2019
Excited about my upcoming Asia-Pacific trip presenting @graalvm to customers and user groups in Dec/Jan:Taipei 🇹🇼
Seoul 🇰🇷
Tokyo 🇯🇵
Shanghai 🇨🇳
Singapore 🇸🇬
Sydney 🇦🇺🦘🐊
Send me a DM if you are located in one of these cities and are interested to meet!
20 72
Thomas Wuerthinger
@thomaswue
• 30 Nov 2019
This proposed Java language feature is great and could make substantial parts of the GraalVM compiler source code more readable. x.com/OpenJDK/status/119936836650015129710 68
Thomas Wuerthinger
@thomaswue
• 11 Dec 2019
Great article by @RealGeneKim about the modern day JVM; and point (5) is an excellent summary of what @GraalVM adds to the JVM ecosystem! x.com/SysAdvent/status/120390219074783641617 37
Thomas Wuerthinger
@thomaswue
• 12 Dec 2019
Met today with the team behind @Pinpoint_APM to discuss @GraalVM support for their open source APM solution. Their system is quite impressive. Check out live demo and screen shots at github.com/naver/pinpoint. 8 28
Thomas Wuerthinger
@thomaswue
• 15 Dec 2019
After an amazing time in Seoul 🇰🇷 now on my way to Tokyo 🇯🇵 to meet @JJUG, @maaya8585, @making, @OE_uia, @a_matsuda, @RemkoPopma, @jimgris, @stffrdhrn and others! 8 34
Thomas Wuerthinger
@thomaswue
• 23 Dec 2019
There are many great software engineers. The real constraint is finding great companies that have interesting problems to solve, a positive & inclusive work culture, and that pay market value. x.com/elonmusk/status/120883965397911961616 56
Thomas Wuerthinger
@thomaswue
• 28 Dec 2019
Great presentation by @SanneGrinovero on how he optimized Hibernate ORM for @GraalVM native images! infoq.com/presentations/quarkus-graalvm-sao-paulo-2019/9 29
Thomas Wuerthinger
@thomaswue
• 02 Feb 2020
“@GraalVM is popular even across non-Java programmers and will increase Java's popularity in 2020.” This is a great prediction by @AdamBien and we will certainly work hard this year to make it true! x.com/AdamBien/status/122326997300035993627 81
Thomas Wuerthinger
@thomaswue
• 25 Feb 2020
Excited about the new advisory board with members from @Amazon, @ShopifyEng, @TwitterEng, @ObjectComputing, @GluonHQ, @RedHat, @neo4j, @pivotal, @Arm, and more. Moving @GraalVM forward together 🚀🏆! x.com/graalvm/status/123202956540245197339 111
Thomas Wuerthinger
@thomaswue
• 29 Feb 2020
Was meeting so many welcoming & friendly & skilled developers during my trips to Taipei 🇹🇼, Seoul 🇰🇷, Tokyo 🇯🇵, Shanghai 🇨🇳, and Singapore 🇸🇬 2 months ago. Sad to see the region now so affected by the coronavirus. Strongly hope for a fast recovery & look forward to my next visit!4 31
Thomas Wuerthinger
@thomaswue
• 03 Mar 2020
“there are initially 12 board members – freely modelled on the Knights of the Round Table who were also looking for a holy grail…” 😂👍 x.com/devmio_official/status/12349174610923724803 23
Thomas Wuerthinger
@thomaswue
• 16 Mar 2020
My trip starting 3 months ago now had to abruptly end due to many travel restrictions. Returned to🇨🇭 with the country in lockdown and center of the pandemic. Things looking manageable though with sufficient raclette 🧀 available. Wish everybody 🌎 the best handling the situation! 2 27
Thomas Wuerthinger
images to @Java! x.com/mreinhold/status/1254812999145017351
@thomaswue
• 27 Apr 2020
Great to see this proposal for a new @OpenJDK project to introduce the concept of staticimages to @Java! x.com/mreinhold/status/1254812999145017351
12 71
Thomas Wuerthinger
@thomaswue
• 05 Jun 2020
Thank you @maxandersen and colleagues for active participation in the @graalvm community! x.com/nmcl/status/12688509018607042573 28
Thomas Wuerthinger
@thomaswue
• 25 Jun 2020
Oracle Coherence now open source with Community Edition and "polyglot programming on the grid side with GraalVM". Embedding @GraalVM in platforms is a huge value-add in terms of extensibility. blogs.oracle.com/oraclecoherence/announcing-coherence-community-edition20 24
Thomas Wuerthinger
@thomaswue
• 02 Jul 2020
Excited to have with @graemerocher a new colleague at @oraclelabs who has created so much as part of the @java community. This will help further improve @graalvm as the best choice for Java cloud applications! x.com/graemerocher/status/12787708369968865285 37
Thomas Wuerthinger
@thomaswue
• 15 Sep 2020
Prototype for PHP support on @GraalVM published by @andrinbertschi from ETH Zurich. github.com/oracle/graal/issues/361#issuecomment-69267073229 65
Thomas Wuerthinger
@thomaswue
• 23 Oct 2020
Even COBOL can run on your @GraalVM 😎 ! x.com/graalvm/status/13196408973452492823 26
Thomas Wuerthinger
See section "Executing JavaScript inside Oracle Database" at blogs.oracle.com/database/introducing-oracle-database-21c for more details. x.com/OracleDatabase/status/1349409855459782658
@thomaswue
• 14 Jan 2021
And with @GraalVM inside. 😎🚀See section "Executing JavaScript inside Oracle Database" at blogs.oracle.com/database/introducing-oracle-database-21c for more details. x.com/OracleDatabase/status/1349409855459782658
14 23
Thomas Wuerthinger
@thomaswue
• 19 Jan 2021
This is a major milestone in the project that we have been working towards for a while: Now @Java can also be executed on top of the Truffle layer. This enables new use cases and makes all Truffle-level tools and interoperability mechanisms also available for JVM-based languages! x.com/graalvm/status/135161997310643814925 72
Thomas Wuerthinger
@thomaswue
• 26 Feb 2021
tl;dr Because one can leverage the productivity of writing in @scala_lang & get great startup and footprint results via @graalvm. Great to see! x.com/akka_io_/status/13653054087982817339 28
Thomas Wuerthinger
@thomaswue
• 07 Mar 2021
With @graalvm you can run JavaScript, Java, and Python all on the same engine and reuse modules. We want to bring the ecosystems together so you don't have to exclusively choose. x.com/jasoncwarner/status/13684267440851189781 32
Thomas Wuerthinger
@thomaswue
• 16 Mar 2021
Irrefutable proof that the @graalvm compiler is *really* written in @java shown by @shelajev and @dougxc at http://twitch.tv/shelajev 😎 2 21
Thomas Wuerthinger
@thomaswue
• 17 Mar 2021
Making developer's dreams come true is the primary motivation of the @graalvm team! We are working hard to make this possible asap 😎🚀 x.com/helpermethod/status/13722770760998051919 49
Thomas Wuerthinger
A lot of the research behind Truffle polyglot is based on Smalltalk concepts.
@thomaswue
• 17 Mar 2021
Recording from the Smalltalk with @fniephaus demonstrating @TruffleSqueak running on @graalvm including language interoperability with Python, Ruby, R, and Java is now uploaded: youtube.com/watch?v=MVblV_ruG28A lot of the research behind Truffle polyglot is based on Smalltalk concepts.
14 51
Thomas Wuerthinger
@thomaswue
• 03 Jun 2021
Message-driven microservices with @micronautfw, @apachekafka and @graalvm discussed by @shelajev and @graemerocher at twitch.tv/shelajev! 8 23
Thomas Wuerthinger
@thomaswue
• 28 Jun 2021
2021 observations from @AdamBien: @GraalVM is still underestimated outside of native image for being also a fast JVM and having polyglot capabilities.💯% this😉! https://adambien.blog/roller/abien/entry/mid_year_2021 10 44
Thomas Wuerthinger
@thomaswue
• 01 Sep 2021
Excited to have @fniephaus now officially join the team! Recommend following him for future content about @GraalVM tools and developer productivity. https://x.com/fniephaus/status/14330658753016217680 29
Thomas Wuerthinger
@thomaswue
• 05 Sep 2021
Always be careful with intern projects. Sometimes they can get out of hand in the long run... 😎 @mwolczko @dougxc @graalvm 14 115
Thomas Wuerthinger
@thomaswue
• 13 Sep 2021
Thank you @shelajev for helping kickstart the @GraalVM developer advocacy from day zero with full dedication to the success of the project and its team! It was a privilege to work with you and I wish you all the best for the next steps in your career. https://x.com/shelajev/status/14374250262492487690 21
Thomas Wuerthinger
@thomaswue
• 23 Sep 2021
This time physical high performance delivered by some @graalvm team members in the Mont Blanc region 😎 🚀. Less scalable than writing compiler optimizations though 😉. 4 43
Thomas Wuerthinger
@thomaswue
• 16 Dec 2021
Detailed analysis of @Java 17 garbage collector options and the associated performance implications: https://arxiv.org/pdf/2112.07880.pdf23 63
Thomas Wuerthinger
@thomaswue
• 24 Dec 2021
Thank you @abvijaykumar for a great gift for the winter holiday season 🏆🐰🚀! 12 51
Thomas Wuerthinger
@thomaswue
• 20 May 2022
Great article by @starbuxman how @springframework and @graalvm work together. Exciting is also the announcement that Spring Boot 3 and Spring Framework 6, due later this year, will have built-in support for GraalVM native image!!! 🏆🚀https://www.infoq.com/articles/native-java-spring-boot/36 118
Thomas Wuerthinger
1⃣📈Startup: https://youtu.be/watch?v=mhmqomex1zk&t=686s
2⃣💾Memory: https://youtu.be/mhmqomex1zk?t=832
3⃣🚀Throughput: https://youtu.be/watch?v=mhmqomex1zk&t=1044s
4⃣🔐Security: https://youtu.be/watch?v=mhmqomex1zk&t=1482s
@thomaswue
• 17 Oct 2022
Microservice demos at @Devoxx showing @GraalVM native image ahead-of-time (AOT) better than just-in-time (JIT) mode for:1⃣📈Startup: https://youtu.be/watch?v=mhmqomex1zk&t=686s
2⃣💾Memory: https://youtu.be/mhmqomex1zk?t=832
3⃣🚀Throughput: https://youtu.be/watch?v=mhmqomex1zk&t=1044s
4⃣🔐Security: https://youtu.be/watch?v=mhmqomex1zk&t=1482s
31 94
Thomas Wuerthinger
@thomaswue
• 04 Dec 2022
Great! Now I can finally automate the tweeting and focus more on coding 😎 2 42
Thomas Wuerthinger
@thomaswue
• 07 Dec 2022
And in those 47 seconds, @GraalVM Native Image analyzes the program and compiles to machine code a total of ~62,000 methods. That is more than 1,000 methods compiled per second.🚀 https://x.com/borkdude/status/16005256579052707849 54
Thomas Wuerthinger
@thomaswue
• 18 Jan 2023
Great illustration how in environments with limited CPU resources, the advantage of @GraalVM Native Image ahead-of-time compilation increases. https://x.com/piotr_minkowski/status/16154566657294745676 22
Thomas Wuerthinger
@thomaswue
• 19 Apr 2023
There is now a way to create a self-contained binary for Node.js apps and the “hello world” is 85.8 MB. I will reference this whenever anybody suggests the @GraalVM native image “hello world” is too big 😎. https://x.com/wesbos/status/164836207081814016514 84
Thomas Wuerthinger
➡️quarkus build --no-tests --native
The total Maven build time (with empty Maven cache) was 52s of which the native image build took only 23s.
@thomaswue
• 20 Apr 2023
Tested @GraalVM native image build times for the @QuarkusIO "getting started" app running on my desktop machine (i9-13900K):➡️quarkus build --no-tests --native
The total Maven build time (with empty Maven cache) was 52s of which the native image build took only 23s.
10 51
Thomas Wuerthinger
@thomaswue
• 26 May 2023
Excited to be speaking at this year’s last instance of the Strange Loop conference @strangeloop_stl about challenges and lessons learned while turning @GraalVM from a research idea into a product! 4 26
Thomas Wuerthinger
@thomaswue
• 11 Jun 2023
Happy that I could finally visit my Ukrainian grandmother for the first time since the start of the full-scale invasion. She naturally refuses to leave her home. Thank you everybody who continues to support the defence of Ukraine 🇺🇦 ! 5 115
Thomas Wuerthinger
@thomaswue
• 13 Jun 2023
This is a major milestone for the project with the new freely available Oracle @GraalVM distribution making Native Image an incredibly efficient way to run also your very long-running @Java applications! 🚀🐰 https://x.com/graalvm/status/166865480553383117116 46
Thomas Wuerthinger
@thomaswue
• 13 Jun 2023
Yes, @graalvm Native Image with G1 GC is really awesome. And the best part is that it doesn't even cost money but is now provided for free 😉! https://x.com/deors314/status/16687106845137838102 32
Thomas Wuerthinger
@thomaswue
• 21 Jul 2023
“The startup time of the application was reduced from approximately 30 seconds down to about 3 ms, and more importantly the memory usage was also significantly reduced from 6.6 GB down to 1 GB, with the same throughput and CPU utilization.” 👍🚀 @graalvm https://x.com/tschuehly/status/168243525424448307721 109
Thomas Wuerthinger
@thomaswue
• 24 Jul 2023
Using @GraalVM native image leads to a very significantly reduced energy consumption for your services. And this test is even without profile-guided optimizations (PGO) and the G1 GC option. 🏆🌳 https://x.com/ionutbalosin/status/1683365653607063552 3 26
Thomas Wuerthinger
@thomaswue
• 24 Jul 2023
Looks like Reddit is onto something… 🤔. JIT is for development, AOT is for deployment. People who think that AOT peak performance won’t beat JIT will be in for a surprise btw. 16 62
Thomas Wuerthinger
@thomaswue
• 24 Jul 2023
Added a comment to this Reddit thread on why the profiling information gathered for AOT compilation is generally better than the ones gathered by the JIT: r/java/comments/157l2o5/comment/jt8fhh5/6 23
Thomas Wuerthinger
@thomaswue
• 09 Aug 2023
Generating flame graphs with accurate profiling works well for @graalvm native images. I have been using perf for this on Linux, but this @parcadev looks also very neat: https://x.com/fredbrancz/status/16888487624903106569 28
Thomas Wuerthinger
One more benefit I would like to add: Performance predictability. There are no “performance cliffs” and it is possible to predict for specific Java code its performance with accuracy. https://x.com/therealdanvega/status/1699142426269462796
@thomaswue
• 06 Sep 2023
Excellent summary of the main benefits of going fully native with @GraalVM native image. One more benefit I would like to add: Performance predictability. There are no “performance cliffs” and it is possible to predict for specific Java code its performance with accuracy. https://x.com/therealdanvega/status/1699142426269462796
9 46
Thomas Wuerthinger
@thomaswue
• 15 Sep 2023
Having fun reading through our initial "Top 10 Things To Do With @GraalVM" blog post from 2018. Will do a retrospective of what really took off and what was less interesting to the developer community in my @strangeloop_stl talk next week! https://medium.com/graalvm/graalvm-ten-things-12d9111f307d6 42
Thomas Wuerthinger
@thomaswue
• 16 Sep 2023
On my way to Las Vegas ✈️ for #OracleCloudWorld to talk about how @GraalVM Native Image can reduce resource consumption and $$$ spent for Java applications deployed to the cloud! Find all GraalVM-related sessions here: catalog?search=GraalVM5 28
Thomas Wuerthinger
@thomaswue
• 21 Sep 2023
Very much looking forward to the @graalvm Community Meetup in Zurich 🇨🇭 next week to discuss future road map and collaboration. This picture is still my absolute favourite from last year's event. Rich ecosystem is key! @langer_tomas @sdeleuze @graemerocher @maxandersen 👍 13 76
Thomas Wuerthinger
sdk install java 21-graal https://x.com/emmysteven_/status/1705642870235869566
@thomaswue
• 23 Sep 2023
If you have not done so already, definitely give the Oracle @GraalVM OpenJDK distribution a try! Not only do you get the native image option, you also get a really fast Graal JIT compiler running in HotSpot that is best performing on many workloads.🏆🚀sdk install java 21-graal https://x.com/emmysteven_/status/1705642870235869566
6 28
Thomas Wuerthinger
@thomaswue
• 29 Sep 2023
Big news from last week's @GraalVM for @Java 21 release was that we can finally demonstrate that AOT (with profile-guided optimizations) can outperform JIT for all major metrics including throughput! Here are the numbers for the @Springframework PetClinic example (both G1 GC). 🚀 52 182
Thomas Wuerthinger
@thomaswue
• 02 Oct 2023
At @Devoxx @starbuxman is casually rebuilding @springframework apps dozen of times to @GraalVM native images live on stage as it only takes ~30s on his laptop. 7 70
Thomas Wuerthinger
@thomaswue
• 03 Oct 2023
The next generation is excited about next generation technology. The future is bright! 🏆🚀 @GraalVM @Devoxx 7 72
Thomas Wuerthinger
@thomaswue
• 28 Oct 2023
Mario, my 1st manager at Oracle, had a vital role getting the @GraalVM project off the ground. He assured us at the start: “The satisfaction felt when your artifact makes a real difference for a customer is worth going through the pain of turning your research into a product.”💯% https://x.com/mwolczko/status/17181135222600829543 50
Thomas Wuerthinger
@thomaswue
• 01 Dec 2023
Was fun to be back in a lecture hall with some @graalvm compiler graphs 😉. Thank you for the invitation @patbaumgartner and @jugch! 3 27
Thomas Wuerthinger
@thomaswue
• 02 Jan 2024
Very much what I would expect 😎. Great job @royvanrijn! Maybe also try via @GraalVM native image plus profile-guided optimizations. https://x.com/gunnarmorling/status/1741839724933751238 6 23
Thomas Wuerthinger
It uses @GraalVM native image including profile-guided optimizations (PGO). Even with this relatively large workload (parsing a 13GB file), this reduces both CPU usage and total time.
@thomaswue
• 04 Jan 2024
This is my initial submission to @gunnarmorling's 1brc challenge: https://github.com/gunnarmorling/1brc/pull/70It uses @GraalVM native image including profile-guided optimizations (PGO). Even with this relatively large workload (parsing a 13GB file), this reduces both CPU usage and total time.
11 69
Thomas Wuerthinger
@thomaswue
• 04 Jan 2024
Very sad news. Niklaus Wirth's influence on compiler construction is enormous. Here is a paper about Wirth from my PhD supervisor Peter Moessenboeck (who was his postdoc) including arguments for meta-circularity, a principle core to the @graalvm stack: https://ssw.jku.at/Research/Papers/Moe00b.pdf https://x.com/Bertrand_Meyer/status/1742613897675178347 13 62
Thomas Wuerthinger
And to try it out is as simple as:
sdk use java 21.0.1-graal
@thomaswue
• 05 Jan 2024
Yes, "Use GraalVM" (in this case its meta-circular JIT compiler) is definitely in many cases a simple way to improve the performance of @Java programs. Great to see the #1BRC challenge highlighting this.🚀And to try it out is as simple as:
sdk use java 21.0.1-graal
12 54
Thomas Wuerthinger
@thomaswue
• 05 Jan 2024
Yes, @GraalVM looking quite strong here😉. As more and more manual optimizations are applied, the compiler maybe won't matter anymore, but Graal JIT (or AOT) is certainly a great choice when you are programming in modern Java and use its abstractions. https://x.com/gunnarmorling/status/17433358459718369675 56
Thomas Wuerthinger
@thomaswue
• 07 Jan 2024
The challenge shows @GraalVM JIT (and AOT) as very well performing 🏆🚀! For the lowest level of applying manual optimizations, the compiler will however matter less. Primary goal for Graal is that it applies more of those optimizations automatically on high-level code. https://x.com/gunnarmorling/status/174408642018292570810 42
Thomas Wuerthinger
@thomaswue
• 09 Jan 2024
Java seems quite fast 🚀🏆! One billion rows on an Intel i9-13900K. #1BRC @gunnarmorling 17 229
Thomas Wuerthinger
@thomaswue
• 09 Jan 2024
An idiomatic Scala-based solution that focuses on readability and low number of code lines still runs almost 20% faster on the @GraalVM JIT out of the box. #1BRC 👍 https://x.com/_JamesWard/status/17447956123929477295 33
Thomas Wuerthinger
@thomaswue
• 10 Jan 2024
This is a really cool feature that can be specifically useful for the polyglot aspects of @GraalVM e.g. when combining Java+JavaScript or Java+Python. https://x.com/maciejwalkowiak/status/17448406181682586836 50
Thomas Wuerthinger
@thomaswue
• 10 Jan 2024
Apparently almost 100ms of those 800ms seems btw spent in Linux kernel code unmapping the memory of the file single-threaded. Any Linux experts out there that know if this can be done faster 🤔? Maybe increase the page size? #1BRC https://x.com/thomaswue/status/174474746558298935512 57
Thomas Wuerthinger
@thomaswue
• 12 Jan 2024
The real speciality of the Graal JIT is indeed high-level code. But that doesn't mean that it is bad at low-level code. Also, in AOT mode for native image, it can spend more time optimizing without compromising application startup time. https://x.com/jerrinot/status/17455539841132875387 36
Thomas Wuerthinger
@thomaswue
• 12 Jan 2024
OK, I need to stop now, this is getting ridiculous 🤣. Kernel unmapping already the primary bottleneck... #1BRC @gunnarmorling https://x.com/thomaswue/status/1744747465582989355 10 95
Thomas Wuerthinger
@thomaswue
• 14 Jan 2024
Let’s gooo 😉🚀 https://x.com/gunnarmorling/status/17464888442271006810 38
Thomas Wuerthinger
@thomaswue
• 20 Jan 2024
Turns out the easiest way to work around the unmapping issue is to spawn a process fork that does the work and let the OS clean up the fork later. Now I only need to convince @gunnarmorling that this is legit 😉 #1brc. It is just a few lines of beautiful Java Process API code 🤣. https://x.com/thomaswue/status/1745906529855791591 17 108
Thomas Wuerthinger
@thomaswue
• 28 Jan 2024
And whenever one believes that there is really nothing left to optimize, there is another 20% somewhere 🤣. Good thing that this is the last weekend of @gunnarmorling's #1brc 😉. https://x.com/thomaswue/status/1748787118560686190 19 37
Thomas Wuerthinger
@thomaswue
• 30 Jan 2024
A very nice and short #1brc entry without any bit shifting tricks, no unsafe, no vector API, no reflection break-in, no code duplication is btw from @sampullara. Just 200 lines of simple Java code. And it runs best on the @GraalVM JIT compiler in under 6s. java/dev/morling/onebrc/CalculateAverage_spullara.java5 21
Thomas Wuerthinger
This @Java program is processing a 13GB file in only 316ms (!) running via @GraalVM native image. Show this to people who say Java is slow 🤣. #1brc @gunnarmorling https://x.com/thomaswue/status/1751658936602616041
@thomaswue
• 31 Jan 2024
Indeed, the next 20% were found! Credit to @jerrinot for showing the benefits of avoiding key branch mispredictions.This @Java program is processing a 13GB file in only 316ms (!) running via @GraalVM native image. Show this to people who say Java is slow 🤣. #1brc @gunnarmorling https://x.com/thomaswue/status/1751658936602616041
17 39
Thomas Wuerthinger
@thomaswue
• 03 Feb 2024
Interesting aspect of the new Pkl configuration language just open sourced by Apple is that it is built on top of the @GraalVM polyglot Truffle framework. New languages with interoperabilty is another use case for Graal next to fast JIT compilation and efficient AOT compilation. https://x.com/vitalethomas/status/1753712499260543346 6 24
Thomas Wuerthinger
@thomaswue
• 04 Feb 2024
Thank you a lot @gunnarmorling for organizing such a fun challenge! It was a great learning experience and I am particularly happy that it could also highlight the performance capabilities of @GraalVM for both AOT and JIT mode 🚀🏆! https://x.com/gunnarmorling/status/175417197889263666319 112
Thomas Wuerthinger
@thomaswue
• 05 Feb 2024
The CLI of Apple‘s new Pkl configuration language is not only written in @Java and uses Truffle, it is also released as @GraalVM native images for great startup and general performance! 🚀 6 25
Thomas Wuerthinger
@thomaswue
• 20 Feb 2024
Standalone executables for Python via @GraalVM native images: 👇👀 https://x.com/timfelgentreff/status/17600366202194044417 29
Thomas Wuerthinger
@thomaswue
• 22 Feb 2024
Nice step-by-step write up of the most important #1BRC optimizations and really good tip for the first optimization step that should be applied to almost any @Java program: Run with the @GraalVM JIT😉🚀! https://x.com/jerrinot/status/1760436657445069028 12 44
Thomas Wuerthinger
@thomaswue
• 28 Feb 2024
Use @graalvm to save real 💰 for your cloud deployments! https://x.com/juliendubois/status/17627861169381459956 27
Thomas Wuerthinger
@thomaswue
• 14 Mar 2024
Thank you @gunnarmorling for the awesome #1brc prize. This was the hardest earned coffee mug in my life! 18 107
Thomas Wuerthinger
@thomaswue
• 24 Apr 2024
Great blog post. For great peak throughput in addition to the startup benefits, using profile-guided optimizations or at least compiling with the “-O3” flag should help. https://x.com/starbuxman/status/17831818795729024057 22
Thomas Wuerthinger
@thomaswue
• 30 Jul 2024
Really great results! @GraalVM loves❤️Kafka! 🚀 https://x.com/BdKozlovski/status/181829681393976132711 45
Thomas Wuerthinger
@thomaswue
• 06 Aug 2024
This @Devoxx talk on @GraalVM combining @Java and Python will blow your mind 🤯! https://x.com/Stephan007/status/18207739923717410525 38
Thomas Wuerthinger
@thomaswue
• 07 Aug 2024
👀 another major adopter of the @GraalVM @JavaScript engine! https://x.com/intellijidea/status/1821116579901263945 8 28
Thomas Wuerthinger
Try it out to make your programs go faster 🚀🏆!
Read more here: https://blogs.oracle.com/java/post/including-the-graal-jit-in-oracle-jdk-23 https://x.com/java/status/1836051918918910463
@thomaswue
• 18 Sep 2024
Very exciting part of yesterday’s @Java 23 release is that for the first time the @GraalVM JIT is also included as an option in the regular @Oracle JDK.Try it out to make your programs go faster 🚀🏆!
Read more here: https://blogs.oracle.com/java/post/including-the-graal-jit-in-oracle-jdk-23 https://x.com/java/status/1836051918918910463
6 34
Thomas Wuerthinger
@thomaswue
• 08 Oct 2024
Thank you @Devoxx for the awesome audience that had the patience to listen 3 hours straight to @royvanrijn and me deep diving into @Java performance including @GraalVM compiler graphs and assembly code! 🚀🤯 #1brc 11 37
Thomas Wuerthinger
@thomaswue
• 12 Dec 2024
It has been interesting 16 years on Twitter where 6 years ago our initial @graalvm OSS release went viral 🚀🏆. Thank you for 5K followers and many great technical discussions here! Now it is however time to move on as the platform transformed such that the negatives of staying by now far outweigh the positives. 10 31