JITWatch tips and tricks
Updated instructions for building hsdis on OSX (February 3, 2018)
Build hsdis-amd64.dylib for your JRE using OpenJDK and binutils...
Build hsdis-amd64.dylib for your JRE using OpenJDK and binutils...
Run an IBM J9 VM in a docker container (March 19, 2017)
How to execute a Java program on the J9 VM and get a JIT log...
How to execute a Java program on the J9 VM and get a JIT log...
JITWatch on ARM (Raspberry Pi) (March 5, 2017)
Use JITWatch to optimise your Java code on ARM CPUs. Instructions for adding windowed JavaFX and hsdis support to the Oracle ARM JDK...
Use JITWatch to optimise your Java code on ARM CPUs. Instructions for adding windowed JavaFX and hsdis support to the Oracle ARM JDK...
JITWatch code cache visualisation (February 2, 2017)
Watch the HotSpot JVM code cache fill up as the JIT compilers optimise your code...
Watch the HotSpot JVM code cache fill up as the JIT compilers optimise your code...
JITWatch hits 1000 stars on GitHub (January 6, 2017)
Thanks to all the contributors and supporters!...
Thanks to all the contributors and supporters!...
JITWatch lock elision report (January 4, 2017)
JITWatch can now report on locks eliminated through the HotSpot lock elision optimisation...
JITWatch can now report on locks eliminated through the HotSpot lock elision optimisation...
New JITWatch sandbox example - no partial escape analysis (December 18, 2016)
HotSpot doesn't perform partial escape analysis so if an object escapes the method on any branch the heap allocation cannot be avoided...
HotSpot doesn't perform partial escape analysis so if an object escapes the method on any branch the heap allocation cannot be avoided...
New JITWatch sandbox example for reducing a megamorphic callsite (December 13, 2016)
Peel off one type into a separate callsite using an instanceof check...
Peel off one type into a separate callsite using an instanceof check...
JITWatch escape analysis video (October 18, 2016)
Learn how JITWatch can show you the eliminated heap allocations as HotSpot optimised your program...
Learn how JITWatch can show you the eliminated heap allocations as HotSpot optimised your program...
Bytecode size histograms for popular Java-based projects (April 30, 2016)
Here are the bytecode histograms showing method size distributions for popular Java-based projects such as Android Studio, Scala, Groovy, Gradle, Eclipse, as well as the JDK and JavaFX....
Here are the bytecode histograms showing method size distributions for popular Java-based projects such as Android Studio, Scala, Groovy, Gradle, Eclipse, as well as the JDK and JavaFX....
More Bytecode Geekery with JarScan (April 10, 2016)
So I saw this tweet and had some thoughts about bytecode size distribution :)...
So I saw this tweet and had some thoughts about bytecode size distribution :)...
Statistical Analysis of Core Libs Bytecode using JarScan (February 17, 2016)
The JarScan tool (part of the JITWatch project) can perform static analysis of your bytecode; counting allocated types, popular instruction sequences, most invoked methods, and methods above the FreqI...
The JarScan tool (part of the JITWatch project) can perform static analysis of your bytecode; counting allocated types, popular instruction sequences, most invoked methods, and methods above the FreqI...
JarScan comparison between 8u31 and 8u40 rt.jar (February 10, 2015)
Comparison of the methods above the 325 FreqInlineSize inlining limit between the two latest Oracle Java releases...
Comparison of the methods above the 325 FreqInlineSize inlining limit between the two latest Oracle Java releases...
Java 7 and Java 8 core methods above the default hot method inlining threshold (April 13, 2014)
A list of the methods in rt.jar from Java 7 and Java 8 that are too big to be inlined...
A list of the methods in rt.jar from Java 7 and Java 8 that are too big to be inlined...
Examination of PerformanceTools using JITWatch (October 29, 2013)
Analysis of why using an Exception outperforms an array bounds check in Francesco Illuminati's TryCatchVsCheckPerformanceTest...
Analysis of why using an Exception outperforms an array bounds check in Francesco Illuminati's TryCatchVsCheckPerformanceTest...
Understanding HotSpot logs (August 27, 2013)
Slides from a session I convened at the JCrete Java Specialists Symposium...
Slides from a session I convened at the JCrete Java Specialists Symposium...
Ask me about
AdSense Android ant Apache Applet Artigo C++ CI codec console CSS Debian DemoScene deployJava.js diff DIY Eclipse Excel fdisk find Firefox FixPC Flash fuse GC git GPG grep HotSpot hsdis HTML Icedove icedove Iceweasel ImageMagick iOS iPhone iSCSI ISO JarScan Java JavaFX JavaScript JCrete JDBC JDK Jenkins Jessie JIT JITWatch JVM lambdas lame Linux linux low latency LVM Mac MacPorts maven Microsoft mkfs mp3 MySQL Networking networking NFS Obj-C OpenJDK OpenJFX openSSL openssl optimisation OSX Patterns PHP PIX PostgreSQL powersaving PS3 Puzzle qmail Raspberry Pi RaspberryPi Safari samba Samba Scala scp scponly SEO ssh sshfs stunnel svn SWT sysctl syslog-ng tcpkill Thunderbird tmpfs Tomcat tripwire Ubuntu Unity UTF-8 vi VirtualBox website Websites wget Windows Windows 8 Word Xcode xen ZTE Blade