Hyppää sisältöön

Ei vielä käännetty

Tätä sivua ei ole vielä käännetty suomeksi, joten se näytetään englanniksi. Auta kääntämään

cProfile Module

The cProfile module provides deterministic profiling of Python programs, measuring function call frequency and execution time.

Complexity Reference

Operation Time Space Notes
cProfile.run() O(n) O(n) n = function calls
cProfile.runctx() O(n) O(n) n = function calls; with globals/locals
cProfile.main() O(n) O(n) CLI entrypoint
Profile() O(1) O(1) Profiler instance
Profile collection O(1) O(1) Per call overhead
Report generation O(n log n) O(n) n = unique functions

Profiling Functions

Basic Profiling

import cProfile

def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n-1) + fibonacci(n-2)

# Profile function - O(n) where n = calls
cProfile.run('fibonacci(10)')

# Output shows: ncalls, tottime, cumtime, filename:lineno(function)

Analyzing Profile Data

import cProfile
import pstats

# Profile with save - O(n)
cProfile.run('fibonacci(10)', 'profile_stats')

# Load and analyze - O(n log n)
stats = pstats.Stats('profile_stats')
stats.strip_dirs()
stats.sort_stats('cumulative')
stats.print_stats(10)  # Top 10