My name is Dmytro Dumanskiy, I’m a CTO and Co-Founder at Blynk, an Internet of Things platform for businesses. We work hard on making it simple for businesses to connect their electronic devices to the Internet and build white-label apps to monitor and control them remotely. This is my first article in English, so please excuse me for any mistakes.

In the early days of our product, we had to optimize our back-end infrastructure, again and again, to spend less on the servers. Here is a short background of the loads we are working with right now in our public cloud:

  • ~80k requests per seconds (~8k req-sec per CPU with 40% utilization)
  • ~50k hardware connected to the cloud every second
  • ~350k MAU
  • 150$ monthly maintenance cost

With this post, I’m starting a series of articles dedicated to Java micro optimizations. By micro optimizations I mean small, almost invisible, tiny changes within popular Java code constructions that affect the performance of your code.

In most cases, micro optimizations won’t get you a whole lot of performance boost (you should focus on architecture, algorithms, and data structures for that in the first place). However, in some hot code sections, you can get visible performance improvements. I’ll keep my examples as simple as possible and my posts as short as possible with minimum blah-blah so you don’t get bored.

I believe this article will be useful for every Java developer.

So, let’s get started.

(Please consider all the below code from the point of performance)

(Please do not focus on numbers, this is just a metric to prove the point)

#java #optmization #equals #string #performance

Micro optimizations in Java. String.equals()
2.65 GEEK