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.