Browsed by
Tag: profiling

jOOQ tip: don’t convert JSONB to a String

jOOQ tip: don’t convert JSONB to a String

A few weeks ago, while investigating possible performance improvements for Kestra‘s JDBC backend, I noticed that a method we were using to map an entity to be persisted in the database into its JSONB representation was taking up a lot of time in our CPU profiles. In the following flame graph, we can see that the JdbcQueue.map() method accounts for more than 21% of the samples and the Repository.map() method for 3.2% of the samples of a CPU profile obtained…

Read More Read More

Profiling a GraalVM native image with perf

Profiling a GraalVM native image with perf

The GraalVM native-image tool allows you to generate a native executable (or native image) from your Java application. This native executable will start very quickly and have a much smaller memory footprint than a traditional Java application; at the cost of reduced peak performance and a relatively high packaging build time. More information on native executables here. A native executable contains a minimalist JVM called SubstratVM, this one has some limitations: Partial support for reflection Partial support for dynamic proxy…

Read More Read More