Quote:
Originariamente inviato da marco.r
Immagino che la vm del .net effettui comunque un certo numero di ottimizzazioni anche sul bytecode di debug, mentre il compilatore c++ del visual studio non ne faccia alcuna (alcuni compilatori permettono invece di farlo), questo spiegherebbe la differenza di performance in fase di debug.
|
Anche con Visual Studio in C++ si possono abilitare le ottimizzazioni in Debug ma non è che abbia molto senso, esiste la versione Release apposta.
Quote:
Se effettivamente poi il codice C# ottimizzato non e' molto piu' performante, direi che o il compilatore C# fa un cattivo lavoro, oppure le performance sono molto legate a librerie che usi.
|
Ad esempio se la console fa un output molto intenso in C# il tempo per stampare a video il testo non cambia tra debug e release, in C++ invece mi risulta un aumento di prestazioni ragguardevole. Idem per la scrittura su file.