Figure 11. The benchmarking of the run times for a) initialization of HEOM hierarchy; b) dynamical calculations vs. the number of ADMs.
It is interesting to see that the initialization of the internal variables and the construction of the hierarchy could be the quite more demanding than the actual integration, especially as the problem’s complexity to grow to the order of \(10^{6}\) ADMs. This is likely do to fact that it is much more demanding to allocate large chunks of memory (to accommodate all ADMs) than operate on the already allocated chunks. The absolute values of the runtimes are also reasonable – for the problem with \(10^{6}\) ADMs, it takes only about 10 seconds to advance 1 step forward. In many situations, the solutions converge much earlier than one hits this level of complexity, so most of the time, the calculations are very fast. Although our present implementation could be further optimized, especially for large problems, it may already be a viable tool for many projects.