Recent Posts

vbochenin's Avatar'

Using filesystem as artifact's repository

What a task I want to solve We’ve got a library from another company, but we’re only allowed to use it in certain projects for reasons known only to the manager. Basically, we don’t even have the option to publish it to the artifact’s repository. Also, some of our projects use Maven; others use Gradle to build. As a result, we need to have an unified way to store the libraries along with our ...

What a task I want to solve We’ve got a library from another company, but we’re only allowed to use it in certain projects for reasons known only to the manager. Basically, we don’t even have the option to publish it to the artifact’s repository. Also, some of our projects use Maven; others use ...

vbochenin's Avatar'

Java 17 migration: bias locks regression

What issue do I need to solve We are about to switch from java 11 to java 17 finally, but a few performance tests failed and failed dramatically with around 50% of regression. It was 6 seconds in java 11 vs. 9 seconds in java 17 in absolute number in some tests. And this happens just by switching runtime. So I’ve got to investigate why the tests failed and fix the issue. What I did to get so...

What issue do I need to solve We are about to switch from java 11 to java 17 finally, but a few performance tests failed and failed dramatically with around 50% of regression. It was 6 seconds in java 11 vs. 9 seconds in java 17 in absolute number in some tests. And this happens just by switchin...

vbochenin's Avatar'

3 ways to know used memory

What task I would like to solve Recently, I was trying to find out how much memory an application uses during a particular operation. The operation I want to measure is the creation of data snapshots. The application stores a sequence of operations on objects and periodically creates object snapshots. So if we want to know the object’s state at a given point in time, we don’t replay all the op...

What task I would like to solve Recently, I was trying to find out how much memory an application uses during a particular operation. The operation I want to measure is the creation of data snapshots. The application stores a sequence of operations on objects and periodically creates object snaps...

vbochenin's Avatar'

How to change already written code: Aspects

What an issue I’m trying to solve Now I’m trying to solve a general problem. We have a lot of idempotent methods, methods that have no side effects and return the same result for the same arguments. In addition, we have some methods that read data from somewhere else, but the data is rarely changed. We can, and do, use caching to improve response time in this case. The problem is that all the...

What an issue I’m trying to solve Now I’m trying to solve a general problem. We have a lot of idempotent methods, methods that have no side effects and return the same result for the same arguments. In addition, we have some methods that read data from somewhere else, but the data is rarely chang...

vbochenin's Avatar'

Running JMH benchmark from Eclipse

What issue I’m trying to solve A few months ago, we started to use JMH in our project to test and find performance issues. The tool provides multiple modes and profilers, and we found this useful for our purposes. Intellij IDEA, which I’m using, has a useful Intellij IDEA plugin for Java Microbenchmark Harness. The plugin’s functionality is similar to JUnit Plugin. It simplifies benchmarks d...

What issue I’m trying to solve A few months ago, we started to use JMH in our project to test and find performance issues. The tool provides multiple modes and profilers, and we found this useful for our purposes. Intellij IDEA, which I’m using, has a useful Intellij IDEA plugin for Java Micro...