Java performance techniques The cost of HotSpot runtime optimizations by Ionut Balosin
3,177 views · Published 30 August 2017 · 54:14 · Indexed 10 November 2026
Channel: Devoxx · 2017 · Science & Technology
The talk reveals how HotSpot internally handles some performance optimizations (e.g. static, speculative and inter-procedural) which sometimes can bring Java code to run faster than similar C/C++ code. It will also cover the penalty of code deoptimizations (e.g. uncommon traps), which brings back the running thread into the Interpreter. The take away for the audience would be a better understanding about why these optimizations matter, as well as things which might optimize the code but in reality backfire. Core topics of the agenda: - Uncommon traps - Null Sanity Checks - Loop unrolling - String deduplication - Devirtualization - Inter-procedural optimizations (e.g. inlining) - Brench predictions - Concurrency implications (e.g. memory access optimization, biased locking and the cost of Stop-The-World pause) - Methods that do not JIT The tools used to prepare the talk and reveal these optimizations are: JITWatch, JMH (Java Measurement Harness) and HPjmeter. My name is Ionut Balosin, am I a Software Architect with 10+ years of experience in a wide variety of business applications. Currently employed by Luxoft Co. I am particularly interested in Performance & Tunin,g topics and Software Architecture. Regular speaker at external conferences (e.g. Logeek, SoftLabs, Voxxed, BJUG, XP Days, Agile Tour)
More from this channel
-
32:13
Writing Groovy AST Transformations: Getting Practical in an hour! by Baruch Sadogursky
-
25:58
TweetWallFX - Behind the Scenes by Sven Reimers
-
29:44
Second generation "workflow managers" for big data by Alex Van Boxel
-
29:13
Secrets are secrets. Please maintain them as secrets by Alex Soto
-
2:13:40
JavaScript build pipelines with Gulp.js by Stefan Baumgartner
-
2:04:09
Powerful Metaprogramming Techniques With Groovy by Jeff Brown
-
2:38:32
Distributed Machine Learning 101 using Apache Spark from a Browser by Xavier Tordoir/Andy Petrella
-
2:36:21
Caching 101: Caching on the JVM (and beyond) by Alex Snaps/Louis Jacomet