ProfilingΒΆ
The section about buit-in types showed some asymptotic complexities. The asymptotic complexity is a way to describe the efficiency of an algorithm in terms of input size \(n\) as it approaches infinity. It expresses how the runtime (or space usage) of an algorithm grows relative to the size of the input, ignoring constant factors and lower-order terms. The theoretical complexities are useful information to extrapolate the expected required resources (time and memory). A section will be dedicated to these theoretical complexities.
However, it must be complemented by a more empirical approach consisting in directly measuring the cpu time and memory usage: profiling. This is especially required during an optimization phase where intuition of performance bottle-neck tasks is often poor.