Oct 4, 2020

Making TM1 applications faster and lighter

The three principles to #DoGoodTM1 for developers

There are three key principles that a IBM Planning Analytics powered by TM1 (TM1) developer needs to keep in mind when building TM1 applications:

  • Design for Functionality: The solution must fulfill its design intent, make the solution intuitive.
  • Design for Maintainability: Think beyond the immediate requirements, adhere to coherent design standards.
  • Design for Performance: Leverage TM1’s unique strengths, avoid known performance bottlenecks.

Tuning your TM1 application

There is a lot to talk about when designing for performance. Many TM1 components can be optimized to build a faster application:

Another component that can be tuned is the cube optimization.

Understanding cube optimization

If you want to dig deeper into cube optimization, we recommend the following article:

In TM1 there are multiple (and potentially different) “optimal dimension orders” for a cube:

  • Optimal order for storage on disk
  • Optimal order for size in memory
  • Optimal order for view load time
  • Optimal order for write-back

OptimusPy can help you to find quickly the optimal order for view load time and memory consumption.

Optimizing cubes for performance and memory

OptimusPy determines the right dimension order based on the following theory: Higher positions in the dimension order drive the memory footprint of the cube, while the lower positions are a driver for the query speed (time to refresh a view).

OptimusPy will execute a cube view multiple times and change the dimensions order to find out the order with the fastest view and the lightest cube.

Getting started with OptimusPy

OptimusPy is a free, open-source and very easy to install. The following article will guide you step by step through your first execution of OptimusPy:


Related content

Loading related content