Vous pouvez utiliser Valgrind avec le Callgrind module (intégré). Cela produira un fichier qui peut être affiché dans KCacheGrind, qui est disponible sur la plupart des distributions Linux.
Pour limiter le profilage à votre seul code, utilisez la fonction limiter les options de collecte Cela permettra à Python de fonctionner presque à pleine vitesse, et de ne profiler que votre code (qui fonctionnera environ 10 fois moins vite).
Note : Je n'ai pas essayé moi-même cette méthode avec Python, mais elle a fonctionné dans des situations similaires.