Profilage de code

VérifiéSûr

Profilage du temps d'exécution du code pour identifier les goulots d'étranglement. Utilise time.perf_counter(), cProfile ou line_profiler selon le besoin, puis analyse les résultats (cumtime, ncalls) pour suggérer des optimisations.

Spar Skills Guide Bot
DeveloppementIntermédiaire
8002/06/2026
Claude Code
#python#profiling#performance#optimization

Recommandé pour

Notre avis

Cette compétence permet de profiler le code Python pour identifier les goulots d'étranglement de performance.

Points forts

  • Utilise plusieurs outils de profiling (timer simple, cProfile, line_profiler) adaptés à différents besoins.
  • Analyse les résultats en se concentrant sur le temps cumulatif et le nombre d'appels.
  • Propose des optimisations concrètes comme la vectorisation, le cache ou le changement d'algorithme.

Limites

  • Nécessite que l'utilisateur ait installé les dépendances (line_profiler) pour l'analyse ligne par ligne.
  • Le profiling peut ralentir considérablement l'exécution, surtout avec cProfile sur de gros scripts.
  • Ne couvre pas le profiling mémoire ou I/O, seulement le temps CPU.
Quand l'utiliser

Quand un script Python est lent et que l'on veut identifier précisément les parties à optimiser.

Quand l'éviter

Pour des problèmes de performance évidents (ex: boucle infinie) ou quand le code est déjà bien optimisé et que le gain attendu est faible.

Analyse de sécurité

Sûr
Score qualité80/100

The skill uses standard Python profiling tools and does not instruct to perform any destructive, exfiltrating, or obfuscated actions. It runs user-provided scripts, but that is inherent to its profiling purpose and not an added risk beyond typical code execution.

Aucun point d'attention détecté

Exemples

Profile a Python script for bottlenecks
Profile my script 'data_processing.py' using cProfile and show me which functions take the most time.
Line-by-line profiling with line_profiler
I have a function 'process_data' in 'analysis.py' that is slow. Can you add the @profile decorator and run kernprof to show line-by-line timing?

name: profile description: 指定したコードの実行速度をプロファイリングし、ボトルネックを特定する

Profile Code

This skill helps find performance bottlenecks in the code.

Instructions

  1. Identify Target:

    • Ask user for the script or function call to profile.
  2. Run Profiler:

    • Simple Timer: For quick checks, wrap code in time.perf_counter().
    • cProfile: Run python -m cProfile -s cumulative <script_name.py>.
    • Line Profiler: If detailed line-by-line analysis is needed, suggesting adding @profile decorator and running kernprof -l -v <script_name.py> (requires line_profiler installed).
  3. Analyze Output:

    • Look for functions with high cumtime (cumulative time).
    • Look for functions with high call counts (ncalls).
  4. Report:

    • Summarize which parts of the code are consuming the most time.
    • Suggest potential optimizations (vectorization, caching, algorithm change).
Skills similaires