Meliae è un'applicazione simile a Heapy (nel progetto 'guppy'), nel suo tentativo di comprendere come è stata allocata la memoria.
Attualmente, la sua differenza principale è che divide il compito di calcolare statistiche riassuntive, ecc di consumo di memoria dalla scansione effettivo di consumo di memoria. Lo fa, perché spesso voglio capire che cosa sta succedendo nel mio processo, mentre il mio processo sta consumando enormi quantità di memoria (1GB, ecc). Permette inoltre di semplificare notevolmente lo scanner, come io non allocare oggetti Python durante il tentativo di analizzare pitone consumo di memoria dell'oggetto.
Sarà probabilmente crescerà fino ad includere una GUI per la navigazione in grafico di riferimento. Per ora è usato soprattutto in l'interprete Python.
Il nome è semplicemente una parola divertente (significa Ash-legno Ninfa)
Cosa c'è di nuovo in questa versione:.
- Aggiungi `` membri __sizeof__`` a molte delle classi di base (IntSet, ecc) (John Arbash Meinel)
- `` ObjectManager.compute_total_size () `` ora calcola solo la dimensione di un singolo oggetto, piuttosto che tutti gli oggetti. Tutti gli oggetti ha impiegato troppo tempo per essere utile in ogni caso, meglio per rendere più facile per utilizzare l'API utile. (John Arbash Meinel)
- `` obj.iter_recursive_refs () `` può ora essere utilizzato per trovare tutti gli oggetti di riferimento da questo oggetto (compreso obj). Si può anche prendere un iterabile di indirizzi degli oggetti da escludere. Il che lo rende facile da chiedere, & quot; Quali oggetti sono accessibili da X che non sono accessibili da Y & quot; (John Arbash Meinel)
- `` ObjectManager.summarize () `` può ora prendere un oggetto e un elenco di esclusione, e riassumere gli oggetti di riferimento. Questo può essere molto utile quando si vuole guardare solo un sottoinsieme del grafico. Il is``ObjectManager.summarize sintassi (obj, [not_address1, not_address2]) ``. (John Arbash Meinel)
- `` obj.all () `` e `` obj.compute_total_size () `` aiutanti. Questi consentono di ottenere l'insieme di oggetti di riferimento che corrispondono al tipo (come `` om.get_all () ``). Ma * anche * permettono di passare un elenco di esclusione, quindi si può solo ottenere le cose raggiungibili da qui e non raggiungibile da lì. (John Arbash Meinel)
Cosa c'è di nuovo nella versione 0.2.0:
- A piuttosto importante rielaborazione delle parti interne, fornisce un significativo risparmio di memoria e la navigazione più facile del grafo di oggetti.
Requisiti
- Python
- Python
- Pyrex
I commenti non trovato