Gli oggetti di tipo Stats possiedono i seguenti metodi:
) |
filename[, ...]) |
filename) |
key[, ...]) |
'time'
o
'name'
).
Quando viene passato più di un argomento, le chiavi addizionali
vengono utilizzate come criteri secondari quando le precedenti chiavi hanno prodotto
delle righe uguali. Ad esempio, sort_stats('nome', 'file')
ordinerà i record secondo il nome della funzione ed ordinerà le
funzioni con stesso nome secondo il nome del file a cui appartengono.
Per i nomi delle chiavi si possono usare delle abbreviazioni, purché non creino ambiguità. Ecco l'elenco delle chiavi definite:
Argomento | Significato |
---|---|
'calls' |
numero di chiamate |
'cumulative' |
tempo cumulativo |
'file' |
nome di file |
'module' |
nome di file |
'pcalls' |
numero di chiamate primitive |
'line' |
numero di riga |
'name' |
nome della funzione |
'nfl' |
nome/file/riga |
'stdname' |
nome standard |
'time' |
tempo interno |
Notate che tutti gli ordinamenti sulle statistiche avvengono in ordine
decrescente (dal più costoso in termini di tempo al meno), mentre name, file e line sono
in ordine ascendente (alfabeticamente). La sottile distinzione che c'è
tra 'nfl'
e 'stdname'
è che quest'ultimo è un ordinamento
del nome come stampato, e quindi i numeri delle righe vengono comparati
in maniera bizzarra. Per esempio, le righe 3, 20, e 40 (se appartengono
allo stesso file) verranno ordinate come 20, 3, 40. Invece,
'nfl'
effettua una comparazione numerica dei numeri di riga.
Infatti sort_stats('nfl')
è la stessa cosa di
sort_stats('name', 'file', 'line')
.
Per compatibilità con il vecchio profiler, viene consentito l'uso di
argomenti numerici come -1
, 0
, 1
e 2
.
Vengono interpretati rispettivamente come 'stdname'
,
'calls'
, 'time'
e 'cumulative'
. Se usate questo
formato per gli argomenti, potrete usare solo un tipo di ordinamento(la chiave
numerica) ed ulteriori argomenti verranno silenziosamente ignorati.
) |
[restriction, ...]) |
L'ordinamento con cui vengono stampati i risultati è basato sull'ultima operazione sort_stats() effettuata sull'oggetto (ed alle eventuali successive chiamate ai metodi add() e strip_dirs()).
Gli argomenti forniti possono venire utilizzati per limitare la lista alle voci più significative. Inizialmente, la lista include tutte le funzioni che sono state analizzate. Ogni restrizione può essere un intero (per selezionare una quantità di righe), o un decimale compreso tra 0.0 e 1.0 inclusi (per selezionare una percentuale di righe), o un'espressione regolare (per eseguire corrispondenze sullo standard che viene stampato; come in Python 1.5b1, si usa la sintassi per le espressioni regolari in stile Perl definita nel modulo re). Se si specificano varie restrizioni, queste vengono applicate sequenzialmente. Per esempio:
print_stats(.1, 'foo:')
innanzitutto limiterà lo stampato al 10% della lista e poi stamperà solamente le funzioni che appartengono ai file .*foo:. Invece il comando:
print_stats('foo:', .1)
prima selezionerà solo le funzioni che appartengono ai file .*foo: e poi stamperà solo il 10% della lista così ottenuta.
[restriction, ...]) |
[restriction, ...]) |
) |
None
. Il metodo viene ancora definito per una questione di
retrocompatibilità.