Ho un po 'di enigma qui. Ho cercato di accelerare una determinata funzione, ora quando eseguo la mia applicazione ci vogliono ~ 16-17 secondi per eseguire questa funzione.Perché il mio codice è più veloce quando si esegue con Performance Analysis?
Ora, se eseguo lo stesso funzionamento con Performance Analysis in parallelo con VS2010, per trovare le sezioni più lente, il codice viene eseguito in ~ 6-7 secondi. Ora, se il mio codice fosse eseguito velocemente, sarebbe perfettamente accettabile per l'applicazione.
Ho provato a eseguire il codice (senza analisi perf) tramite entrambi i profili di debug e di rilascio, con poca o nessuna differenza.
Qualcuno ha qualche idea su cosa potrebbe accadere qui?
Alcune note: la funzione in questione utilizza molto LINQ to SQL e l'analisi delle prestazioni sta usando Sampling CPU.
Heisenbug. Ricevi gli stessi 16-17 secondi se compili in modalità di rilascio (rispetto al debug)? – Robaticus
E hai eseguito il programma al di fuori di VS? Semplicemente eseguendo un programma in VS con il debugger allegato si disabilitano molte ottimizzazioni jitter. – CodesInChaos
Robaticus, sì (come affermato). CodeInChaos - Io noto una grande differenza tra fuori e dentro VS, sì, ma me lo aspettavo. –