dcsimg
Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language: Java
Expertise: Advanced
Sep 11, 2018

WEBINAR:

On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning


Explore 3 Popular Myths About Garbage Collection

There are 3 highly popular myths about garbage collection. Let's review those myths and the actual truth behind them.

Myth #1: Minor GCs don't pause the application

There are different types of garbage collection events: Minor GC event, Major GC event & Full GC event. It's been proposed that Minor GC are harmless, as they don't pause the application. However Major/Full GC are dangerous because they pause the application.

Truth

This is a lie. 100% lie. Minor GCs do pause the application. Minor GC pause times are comparatively lower than other GC events, most of the time. Thus, they could be called "harmless." However, in some cases, we have seen Minor GCs take more time than all the Major/Full GC events. Thus, when tuning your application, pay proper attention to Minor GC pause time metrics as well.

Myth #2: Serial GC performance is horrible

There are several types of garbage collection algorithms:

  1. Serial GC
  2. Parallel GC
  3. Concurrent Mark & Sweep (CMS) GC
  4. G1 GC
  5. Shenandoah GC

Each GC algorithm exhibits its unique performance characteristics. An incorrect education industry has been saying that serial GCs are not meant for serious applications. Serial GC performance characteristics are horrible, and they should be used only during development time or in prototype applications.

Truth

To validate this theory, we conducted a study on a major B2B travel application in production, which processes more than 70% of North America's leisure travel transactions. We configured a couple of servers to use the latest 'G1 GC' algorithm and a couple of servers to use the 'Serial GC' algorithm. We just used vanilla G1 GC and Vanilla Serial GC settings. We didn't pass any additional GC tuning parameters. Details about this study can be found here.

The results were that Serial GC performance to be comparable (in fact slightly better than) to G1 GC algorithm. Of course, with proper tuning and parameters settings, G1 GC can be made to run better than Serial GC. The take away is, Serial GC is not as bad as it's portrayed.

Myth #3: garbage collection is automatic. I don't have to worry about it.

I have heard a few developer friends saying, "garbage collection is automatic. I don't have to worry about it."

Truth

The first part is true, i.e. "garbage collection is automatic" on all modern platforms — JVM (Java Virtual Machine), ART (Android Run Time). But the second part is not so true. You do have to worry about it. Garbage collection is automatic, but it's not free. It comes with a price. In fact, the price can be very expensive. Poor garbage collection can lead to:

  • Unpleasant user experience (SLA Breaches)
  • Increase in the bill from cloud hosting providers
  • Can put the entire application availability at risk

To learn about the profound impact of garbage collection, you may consider reading this article.

Author bio: Ram Lakshmanan

ram-lakshshman

Every single day, millions & millions of people in North America — bank, travel, and commerce — use the applications that Ram Lakshmanan has architected. Ram is an acclaimed speaker in major conferences on scalability, availability, and performance topics. Recently, he has founded a startup that specializes in troubleshooting performance problems.

Ram Lakshmanan
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date