sys.activate_stack_trampoline() și funcțiile perf în Python

Interpretorul (sys) Python 3.12+ (Linux)

Fac funcțiile Python vizibile cu numele lor în profilerul perf de pe Linux.

Sintaxă
sys.activate_stack_trampoline("perf")
sys.deactivate_stack_trampoline()
sys.is_stack_trampoline_active()

Ce face sys.activate_stack_trampoline() și funcțiile perf

Profilerul perf din Linux vede de obicei doar funcțiile C ale interpretorului. Cu „trambulina” activată, fiecare funcție Python apare cu numele ei în rapoartele perf, ceea ce ajută la găsirea codului lent în producție. Se poate activa și cu python -X perf. Pe platformele fără suport (de exemplu macOS), activarea dă ValueError.

Parametri

Parametru Descriere
backend Tipul trambulinei, "perf".

Ce returnează

is_stack_trampoline_active: bool.

Exemple

Exemplul 1: Activare pe Linux

import sys
print(sys.is_stack_trampoline_active())
sys.activate_stack_trampoline("perf")
print(sys.is_stack_trampoline_active())
sys.deactivate_stack_trampoline()
print(sys.is_stack_trampoline_active())

Rezultat (Linux x86-64; pe macOS: ValueError: perf trampoline not available)

False
True
False

Greșeli frecvente

  • Activezi trambulina pe macOS sau Windows și primești ValueError.

Comenzi înrudite