When tuning performance in a web
application ... easiest profiling
method is to log the start time and
end time for each method
Tienilo proprio lì: -)
Accordare (cioè trovare i modi per renderlo più veloce) e misurare (vedere quanto durano le cose) non sono la stessa cosa.
Per quale misura è utile quantificare il miglioramento ottenuto dopo aver corretto qualcosa.
Per scoprire cosa aggiustare, la tecnica più semplice è campionare lo stack, perché ogni riga di codice che costa X% di tempo è in pila durante quel periodo, sia che si tratti di un ciclo stretto, una chiamata per I / O, o una chiamata di metodo / metodo di medio livello.
Inoltre, se X% è abbastanza grande da preoccuparsi, non sono necessari molti campioni per trovarlo.
(Notate, ho detto find , non measure .)
Non appena una riga di codice appare una seconda volta , se puoi ottimizzarla, otterrà una buona velocità , garantita.
Peggio è il problema, meno campioni hai bisogno. Nel limite, puoi diagnosticare un ciclo infinito in un campione .
C'è molte più discussioni su questo.