So di Redgate's Ants Profiler che ho sentito essere fantastico ma è anche $ 400. Qualche alternativa più economica là fuori che mi indicherà almeno dove potrei aver bisogno di ottimizzare il mio codice?Opzioni gratuite o poco costose per la profilazione/analisi delle prestazioni per C# asp.net?
risposta
Dottrace è circa la metà del prezzo delle formiche, ed è davvero buono. Creato dalle stesse persone che fanno ReSharper.
Se stai cercando solo un'ottimizzazione del tuo codice, dovresti comunque andare ad Ants, visto che ha una prova gratuita di 15 giorni completa, che dovrebbe essere sufficiente per ottenere un sacco di ottimizzazione fatta.
Uso anche Dottrace e farei sicuramente il secondo passo per questa raccomandazione. –
VSProfiler viene fornito con VS e funziona piuttosto bene. Se stai cercando problemi relativi alla memoria, CLRProfiler sarà la tua opzione.
In generale, il metodo che utilizzo è this.
Non sono tanto interessato a cronometrare pezzi del codice quanto a trovare grandi ritardi di tempo inutili così posso pulirli e compiere l'accelerazione.
È davvero un processo diverso.
AGGIUNTO: Se riesco a elaborare, i tipici problemi di prestazioni che vedo sono che alcune attività (che è quasi sempre una chiamata di funzione) consumano una frazione di tempo, come il 10%, il 50%, il 90%, qualsiasi cosa, e non è veramente necessario - può essere sostituito con qualcos'altro o non fatto affatto, e tale quantità di tempo verrà salvata.
Supponiamo per l'illustrazione è del 50%.
Prendo campioni ad intervalli casuali dello stack di chiamate, ad esempio 10, e quella chiamata ha una probabilità del 50% di apparire su ciascuno, quindi sarà su circa metà dei campioni. In questo modo attirerò la mia attenzione, e cercherò di vedere se quello che sta facendo è davvero necessario, e se no, lo aggiusterò per ottenere l'accelerazione.
Ora, era quella misurazione? Se è così, è stata una misurazione davvero scarsa, perché il numero di campioni era così piccolo. Se 5 su 10 campioni hanno mostrato la chiamata, la frazione di tempo è probabilmente intorno al 50%, dare o avere, ed è sicuramente più del 10%. Quindi potrei non sapere la percentuale con precisione, ma I sicuramente so che vale la pena fissare, e io sicuramente so esattamente dove il problema è.
(Nota a margine:. Non ho contato il numero di chiamate, o stimare la durata della chiamata, piuttosto, ho stimato il costo della chiamata, che è quello che la rimozione si potrebbero salvare, che è il suo tempo di permanenza frazionale sullo stack Notare che sto lavorando al livello , non al livello della funzione. Mi interessa sapere quali sono le chiamate di funzione sopra e sotto la chiamata di interesse, ma a parte questo, problemi a livello di funzione, ad esempio il tempo esclusivo , call graphs e ricorsione, non riproducono alcuna parte.)
Ecco perché dico che misurare le prestazioni e trovare problemi di prestazioni, mentre possono essere complementari, sono compiti molto diversi.
... Ah, un altro drive-by anonimo. Ma la risposta funziona ancora. –
EQATEC Profiler è gratuito.
Non l'ho provato da solo, ma suona bene e ci sono alcune testimonianze positive sul loro sito.
Sarei interessato a sentire l'opinione di chiunque lo abbia effettivamente utilizzato.
È semplice ma fa il lavoro. Ed è gratuito (per uso personale) che è fantastico. – DMan
Ho abbandonato rapidamente CodeAnalyst di AMD perché non riuscivo a capire come ottenere un'analisi del "tempo totale trascorso in ciascun metodo". Quindi ho stancato la versione gratuita di EQATEC. Funziona bene per me ... mi ha detto esattamente dov'era il mio problema in circa cinque minuti ... inclusa la registrazione, il download, l'installazione, la configurazione e l'esecuzione della mia prima analisi. Ergo: è davvero facile da usare. Come abbiamo fatto qualcosa prima di google? – corlettk
- 1. Il C++ moderno può offrire prestazioni gratuite?
- 2. Monitoraggio delle prestazioni per ASP.NET MVC2?
- 3. Utilità di test delle prestazioni per C++
- 4. La dichiarazione delle variabili C++ aiuta o danneggia le prestazioni?
- 5. Una macchina virtuale per C++ per l'ottimizzazione delle prestazioni
- 6. Rails Ottimizzazione delle prestazioni per la produzione?
- 7. Libri consigliati per ottimizzazione e test delle prestazioni ASP.NET
- 8. Panoramica delle licenze software gratuite (per i manichini)
- 9. redis per asp.net mvc, opzioni client?
- 10. Serializzazione personalizzata di C# poco per DocumentDb
- 11. Quali sono le mie opzioni gratuite e/o open source per la decompilazione di file di classi e JAR?
- 12. Modelli C++ per prestazioni?
- 13. Java o C per l'elaborazione delle immagini
- 14. Parser di opzioni per C/C++?
- 15. Test dell'unità C++ per il test delle prestazioni (benchmark sintetico)
- 16. Prestazioni C++, per contro mentre
- 17. rspec - matcher per una delle opzioni
- 18. NVD3 - rimozione delle opzioni per stackedAreaChart
- 19. Semplice generazione T4 per Simple POCO
- 20. Le funzioni analitiche Oracle sono costose?
- 21. Miglior design della tabella per la configurazione dell'applicazione o le impostazioni delle opzioni dell'applicazione?
- 22. Objective-C: prestazioni di bridging rapido per la codebase esistente
- 23. Suggerimenti per la sintonizzazione delle prestazioni di Django?
- 24. Listener poco costoso per Firebase
- 25. Consigli per l'ottimizzazione delle prestazioni MySQL my.cnf
- 26. Opzioni per scraping web - solo versione C++
- 27. Libreria di file delle proprietà per C (o C++)
- 28. Penalità delle prestazioni per argomenti non definiti
- 29. Metriche delle prestazioni per Avro vs Protobuf
- 30. Suggerimenti per l'ottimizzazione delle prestazioni Regex
Vedere http://stackoverflow.com/questions/911932/where-can-i-find-a-profiler-for-c-applications-to-be-used-in-visual-studio-2008 per ulteriori discussioni/opzioni –