Using a new data format for your analyzed demos, we have managed to significantly reduce the loading times for the positions tab. Furthermore, the memory usage has been reduced so you can compare many more rounds!
Today we released a new update that changes the format of the data for the positions visualizations which results in some very significant speed-ups. The new update results in the positions tab loading up to 15 times faster!
The new data format uses far less memory than the old. That means you can now easily compare 100+ rounds without any issues. Before, your computer would probably begin to crumble if you picked more than 60 rounds.
In the coming time, we will update the data format for the other visualizations as well so you can switch between the visualizations more seamlessly. And we still have some tricks up our sleeves after that.
All the benefits comes from switching from JSON to FlatBuffers for the data send to your browser.
JSON is a text-based format whereas FlatBuffers is a binary format (1's and 0's). There are many differences between the two formats but the most important ones for our decision to change were:
Without going into too much details, changing to FlatBuffers also demands a change in how we read the data. For example, we had to rewrite the logic generating the heatmap.
Let us give you some numbers from our quasi-scientific experiments. The numbers should be seen relative to each other and not as standing alone - they were measured in a development environment. We picked 30 rounds and clicked the positions tab.
Caching is a new feature we released a week ago. It kicks in when you once have loaded the positions tab and then navigate back at some later point. In that case, we do not fetch the data from our servers since they are already cached on your computer.