JVM JIT Compilers Benchmarks Report 19.11
Context and Motivation The current article describes a series of Java Virtual Machine (JVM) Just In Time (JIT) Compilers micro-benchmarks and their results, relying on different optimization patterns or intrinsics support.…
The Agile Manifesto: A Software Architect’s Perspective
According to the licensing policy, I would like to mention this article was originally published on InfoQ. Key Takeaways While the role and responsibilities of a software architect can be seen…
JVM JIT Compilers Benchmarks Report 19.04
Context and Motivation The current article describes a series of Java Virtual Machine (JVM) Just In Time (JIT) Compilers benchmarks and their results, relying on different optimization patterns. For the current…
Kotlin explicit inlining at megamorphic call-sites pays off in performance
Motivation In the current post, I would like to investigate how megamorphic call-sites are optimized in Kotlin as a result of explicit inlining (using the explicit inline modifier) and what is…
Chaining lambda optimizations in HotSpot VM and GraalVM
Motivation Current post tackles the problem of chaining (or linking) multiple lambda calls which seem to be differently optimized by the HotSpot Just In Time Compiler C2 (i.e. JIT C2)…
Why Do We Need Architectural Diagrams?
According to the licensing policy, I would like to mention this article was originally published on InfoQ. Key Takeaways Creating and maintaining architectural diagrams to provide accurate and valuable content is…
IT Designation Definitions
Software Architect is a person who draws the initial baby sketches, proves the prototype is working and then considers his job done. Developer can never estimate how much time…
Passing this::method reference within a loop affects performance
Motivation The problem I would like address affects the performance in case this::method reference is passed to another method (especially within a long running loop), hence it is important to be…
Contended locks explained – a performance approach
Context Improving the performance of contended Java object monitors was added in JDK 9 as part of the JEP 143. However, as JEP 143 states, it might not be…
An even faster way than StackWalker API for asynchronously processing the stack frames
Context StackWalker API has been introduced in JDK 9 as part of JEP 259. It targets a flexible mechanism to traverse and materialize the required stack frames allowing efficient…