Pavel Hála

We supercharged the app!

Our app is becoming very popular. Number of new users has exploded last year and percentage of them actively using the app is surging. It’s no wonder why our app is attracting so much interest. It offers a great suite of features, decades of historical data and all of that for free. No subscriptions, no restrictions, no ads.

While this is great, there’s a downside. The app has become quite slow. Especially during peak hours when large number of users send queries at the same time. Addition of new features this year made things even worse. The problem had become so widespread that we had to act. Few months ago we decided to scrap our development plan and focus on making the app faster.

Today, we’re launching a new, much faster app. While nothing seems to change on the outside, everything has changed inside. We have rewritten the app from the ground up.

 

That means:

  • 1) All calculations with the market data are lightning fast. The more complex the calculation is, the higher the speedup. And I’m not talking about 10% or 20% speed increase. For some complex operations like histogram, the calculation is magnitude faster, i.e. more then 10x. How’s that possible? Well, we vectorized our code and optimized it for the new AVX-512 low level instructions. This setup is usually deployed only in the most demanding machine learning environments.
  • 2) Our state of the art software requires the state of the art hardware. Only the very latest processor architectures support the AVX-512 SIMD. Therefore we went for the powerful Xeon Platinum processors intended for the most demanding workloads.
  • 3) The app is now running on 2 servers instead of just one. We split the computationally intensive backend from the lightweight frontend. These environments are very different so each server is heavily optimized for its role. This setup is common in large apps and cloud services. Moreover, each of these servers is several times more powerful than the original one.

 

The speedup is most apparent in charts like the contango histogram, seasonal curves or full carry analysis. These studies are computationally intensive, while the amount of data being transferred to a user is low. Lesser speedup will be apparent in charts like historical price and stacked seasonality, because there is little computation, but a lot of data is being sent to user. In that case the speed is determined rather by user’s internet connection bandwidth and JavaScript rendering performance of his computer.

We also recommend you to purge cache in you web browser, so that you fetch the files for the new app.

 

Overall, this is great news on its own. However, there’s more to it. This new architecture opens doors to new functions that wouldn’t be possible to implement in the previous app. So stay tuned, 2018 will be really exciting 😉

Pavel is the founder and CEO of SpreadCharts.