Posted on January 5 , 2020
(comments)
In my previous blog post I evaluated the
feasibility of Java for lightweight system programming thanks to the
GraalVM
native image generation tool. Despite the initial results look promising,
I felt disappointed when they
pointed me out that GraalVM does not support reflection by default (which IMHO
is a wonderful and powerful tool to enhance the expressiveness of our software
and to reduce boilerplate). However, you can actually configure the
ahead-of-time compiler to incorporate a user-provided reflection metadata.
Posted on December 20 , 2019
(comments)
There is still a common belief about Java being slow (especially during the startup)
and memory-consuming, making it not being the first option for ephemeral service
instances, like containers. This blog post pretends to put some light on
those assertions, quantifying the impact of a last-generation JVM in a simple,
single-threaded, application. We compare the impact of the JVM measuring the
execution time and memory spent of a Java QuickSort implementation,
comparing it with the execution of a native image generated with the modern
GraalVM Ahead-Of-Time (AOT) compiler and the same
QuickSort implementation in Go.
Posted on December 19 , 2019
(comments)
After almost two years without updating this blog, I have changed the Markdown
processor from Blackfriday to
Goldmark, which includes an extension to highlight
the code syntax according to the Alec Thomas' Chroma engine and styles.
Posted on February 10 , 2018
(comments)
Despite copying a struct with several fields is slower than copying a pointer
to the same struct, returning a struct value may be faster than returning a
pointer if we consider escape analysis particularities.
Posted on October 21 , 2017
(comments)
This post briefly explains how the blog is organized, and how to create new posts and templates.
Posted on October 21 , 2017
(comments)

Posted on October 20 , 2017
(comments)
This is the first post of my great blog.