Engineering Blog


Learn from our challenges and triumphs as our talented engineering team offers insights for discussion and sharing.

Adventures in Java Garbage Collection Tuning

Recently we noticed some intermittent performance issues with our APIs and traced the problem back to garbage collection pauses. This post describes how we identified the problem, what it taught us about Java’s concurrent mark-and-sweep garbage collection, and how we resolved it with just a few tweaks to our JVM parameters. We monitor our API ...

Java Performance: synchronized() vs Lock

Yesterday, I noticed that one of our systems was using a Lock where a plain old synchronized() block would suffice, and I thought to myself, does this matter? Since the Lock was already fulfilling the same role, the only real question was performance. My gut told me that there should be a performance difference between ...