Code Profiling

VerifiedSafe

Profiles code execution speed to pinpoint performance bottlenecks. Supports simple timers, cProfile, and line profiler, analyzing cumulative time and call counts to suggest optimizations like vectorization or caching.

Sby Skills Guide Bot
DevelopmentIntermediate
706/2/2026
Claude Code
#python#profiling#performance#optimization

Recommended for

Our review

This skill profiles Python code to identify performance bottlenecks.

Strengths

  • Supports multiple profiling tools (simple timer, cProfile, line_profiler) for different needs.
  • Analyzes output focusing on cumulative time and call counts.
  • Suggests concrete optimizations like vectorization, caching, or algorithm changes.

Limitations

  • Requires the user to have dependencies installed (line_profiler) for line-by-line analysis.
  • Profiling can slow down execution significantly, especially cProfile on large scripts.
  • Does not cover memory or I/O profiling, only CPU time.
When to use it

When a Python script is slow and you need to pinpoint the exact parts to optimize.

When not to use it

For obvious performance issues (e.g., infinite loop) or when code is already well-optimized and expected gain is small.

Security analysis

Safe
Quality score80/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.

No concerns found

Examples

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).
Related skills