Menu
Martin Loncaric
Martin Loncaric

A specific trick and a general habit for achieving fast computations

I recently worked on a computation involved in a client-facing projection graph. In order to delight our users, we wanted it to respond instantly to user interaction. However, there are two forces at play that make the calculation complicated: the consistent contributions of recurring deposits and the erratic motion of stock prices. We needed to […]

December 15, 2016
Sen Yu
Sen Yu

How to Make Your Persistent Queues Run Faster Safely

What is a Persistent Queue? A persistent queue is a list of objects that persist in the database waiting to be polled and processed in some way. Usually it is a table that has columns for data, timestamp of when the object persisted, and timestamp of when the object is polled. As opposed to an […]

May 04, 2016
Josh Toft
Josh Toft

Identifying Non-Heap Class Leaks

At Wealthfront, a significant portion of our backend applications are written in Java. The Java Virtual Machine (JVM) uses Garbage Collection (GC) for memory management, this forces us to pay close attention to its characteristics and behavior. Every JVM service we run accumulates JVM and application-level statistics, spools these metrics into a statsd server, and […]

April 18, 2016
Eli White
Eli White

Performant CSS Animations: Netflix Case Study

While going over performant web animations with our new batch of interns, Netflix’s new redesign was brought up as an example of something that seemed to have DOM nodes that changed size and pushed other DOM nodes around. From my previous blog post on Performant Web Animations, animating properties such as width or top forces […]

June 30, 2015

Ian Atha

Less IO for your Unit Tests with a Java SecurityManager

Our quest for a truly test-driven engineering team has enabled us to confidently ship our software every few minutes. Automated testing is the keystone of continuous deployment, and as a result our unit tests and smoke tests are thorough. Perhaps, a bit too thorough. (Our last unit testing extravaganza in the form of a cyclomatic-complexity-driven […]

November 11, 2010

Wealthfront Engineering

When Garbage Collection is Failure

For systems that absolutely require a constant responsiveness Java is generally not an option because of the pauses associated with the garbage collector. Even the alternative collectors, such as parallel and concurrent-mark-sweep, have a pause associated with them for major and minor collections. This problem can be avoided, though, by making sure the garbage collector […]

September 14, 2010