Profilage Déterministe : cette notion est défini pour indiquer le fait que tous les appels à fonction, retours fonction, et les évènements exception sont controlés, et que les mesures précises des intervalles de temps entre ces évènements sont réalisées. (intervalles de temps durant lequels le code utilisateur s'exécute). Par opposition, le profilage statistique (non effectué par ce module) échantillone aléatoirement le pointeur d'instructions réel , et en déduit où le temps est en train de se passer. Cette dernière technique entraine traditionnellement moins de surcharge (puisque le code ne nécessite pas d'ëtre instrumenté), mais ne fournit que des indications relatives de l'endroit où le temps a été passé.
Dans Python, puisqu'il existe un interpréteur actif durant l'exécution, la présence d'un code instrumenté n'est pas nécessaire pour faire un profilage déterministe. Python fournit automatiquement un point de branchement ("hook") (un rappel ("callback") optionnel) pour chaque évènement. En plus, la nature interprétée de Python a tendance à ajouter une surcharge si importante à l'exécution que le profilage déterministe ne rajoutera lui, qu'une surcharge négligeable aux applications ordinaires. Le résultat est que le profilage déterministe n'est pas si coûteux, bien qu'il fournisse une abondante statistique sur les temps d'exécution d'un programme Python.
Les statistiques sur le comptage des appels peuvent ëtre utilisées pour identifier des erreurs de codage ( résultats qui surprennent), et pour identifier les possibles points de foisonnement du code à l'exécution (nombre d'appels trés élevés). Les statistiques sur les temps internes peuvent ëtre utilisés pour identifier les ''boucles critiques '' qui doivent ëtre optimisées avec soin. Les statistiques sur les temps cumulés pourront ëtre utilisées pour identifier les erreurs de haut niveau dans le choix des algorithmes. On notera que la manière non habituelle de mettre en oeuvre les temps cumulés dans ce profileur permet de comparer directement les statistiques pour une implémentation récursive d'un algorithme à celles d'une implémentation itérative.