.. _`sec:profiling`: Profiling ========= The section about :ref:`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 :math:`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 :ref:`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. .. toctree:: :maxdepth: 2 cpu mem