Meltdown: What’s the performance impact and how to minimise it?
The internet is abuzz with terms like Meltdown, KAISER and KPTI at the moment. On Twitter, there are post-patching CPU graphs showing all kinds of things. Some developers we’ve spoken to are wondering...
View ArticleJava’s -XX:+AggressiveOpts: Can it slow you down?
You may have noticed that Java has a lot of performance related command-line options. One of the most popular ones is -XX:+AggressiveOpts, used in over 20,000 places on Github. In fact when running the...
View ArticleThe Top 3 Java Performance Improvements we're looking forward to
Introduction In this blog you’ll get a sneak peak of some of the upcoming changes in future Java SE releases that we’re most excited about here at Opsian. One of the great things about running code on...
View ArticleWhy you want to run Java 10 if you're using the G1 Garbage Collector
Java 10 will be available at a download site near you on 20th March 2018. Given that date is rapidly approaching it’s a good time to start thinking about what features will be included. While the...
View ArticleJava on Docker will no longer suck: improvements coming in Java 10
Docker has been a really popular technology over the last few years and it’s easy to see why. Containerising JVM-based applications offers consistent environments for development and deployment and...
View ArticleAlways-on production Flame Graphs for Java - now with thread grouping
Today we’re going to be introducing Opsian’s always-on production Flame Graphs for Java. Flame Graphs are a state-of-the-art visualisation that can help you rapidly identify bottlenecks and hot paths...
View ArticleApplication Profiling vs System Profiling
With modern, complex, computer programs there can often be a variety of different causes for performance problems. You might find them purely execution time bound in terms of your application, they...
View ArticleSolving JVM Performance Problems with Profilers: Wallclock vs CPU Time Edition
Time waits for no one, but it will wait for a thread. This blog post can help you solve performance problems more easily by describing the different types of information that you can get out of an...
View ArticleJava's new Z Garbage Collector (ZGC) is very exciting
Java 11 has recently been feature frozen and contains some really great features, one in particular we’d like to highlight. The release contains a brand new Garbage Collector, ZGC, which is being...
View ArticleUnderstanding Production: What can you measure?
Production is everything. If your software doesn’t perform in production, it doesn’t perform. Thankfully there’s a range of information that you can measure and monitor that helps you understand your...
View ArticleVirtualJUG tutorial on Continuous Profiling in Java
Founders Richard and Sadiq gave a tutorial on Continuous Profiling in Java at the Virtual Java User Group. Find out how profiling in production can uncover performance bottlenecks, aid scalability and...
View ArticleWhat is Continuous Profiling?
The pace of modern development is ever increasing and all too often performance in production is an afterthought - only addressed when there is serious problem. What if there was a technique that could...
View ArticleCan instanceof make Unmodifiable Collections faster?
In a battle-hardened code base, all normal bugs were fixed - those that remain are usually quite bizarre. This is a story of one such bug and how it uncovered a less than optimal implementation in the...
View ArticleHow a march to war, Persian poetry and an obscure 1950s psychology technique...
You might be wondering what the second Gulf War, Persian poetry and 1950s psychology techniques have to do with scaling your platform. In this post we’ll see how each feeds into a technique for better...
View ArticleOpsian talks to Aleksey Shipilëv about JDK updates
Opsian’s Richard Warburton had the pleasure of sitting down with Aleksey Shipilëv and getting his thoughts on a range of topics. In Part 1 of the interview, Aleksey and Richard discuss the current...
View ArticleOpsian talks to Aleksey Shipilëv about Shenandoah and Concurrent GCs
In Part 2 of Opsian's interview with Aleksey Shipilëv we discuss his work with Shenandoah, the concurrent Garbage Collector for Java and the reasons why we're seeing a new wave of state-of-the-art...
View ArticleHow to solve CPU time problems with Continuous Profiling and Flame Graphs
In this video we will look at how Flame Graphs from Opsian's Continuous Profiling system can lead to a 25x increase in performance on an example system exhibiting CPU time problems: Transcript Hello my...
View ArticleBringing Opsian's Continuous Profiling to GraalVM
We’re pleased to announce that Opsian now supports Continuous Profiling on the GraalVM JVM- this means that GraalVM users now have access to the same always-on low-overhead performance data as users of...
View ArticleHow to solve blocking and locking performance problems with profiling
In this screencast we're going to show how to solve blocking and locking performance problems using the Opsian Continuous Profiling service: Transcript Welcome to this demonstration of how to solve...
View ArticlePerformance Testing Spring Boot with Gatling
Performance testing is hard and there is no one established practise for doing it so it's not uncommon to find developers resort to guesswork and experimentation. This can lead to falling into the...
View Article
More Pages to Explore .....