La mia ultima sessione è "Writing Faster Managed Code".
Peter Sollich mostra come lo stesso algoritmo, scritto in C# e in C++, gira più velocemente grazie alle tecniche di ottimizzazione del jitter.
Lo speech prosegue descrivendo (in maniera appastanza 'newbies') il funzionamento del GC, questo perchè conoscere il funzionamento del GC è fondamentale per chi vuole scrivere codice .NET ottimizzato ed evitare gli errori tipici: Boxing, usare GC.Collect,Finalization...
Ottimizzare significa anche non abusare dei files XML e considerare la possibilità di usare files binari come pure non abusare nell'uso di Reflection.
L'uso di COM Interop e P/Invoke è un altra area dove possono esserci performance hits, sopratutto quando i tipi che usiamo non sono blittabili.
Abusare l'uso della GAC (a causa della SN verification) e di NGEN (velocizza lo startup ma non elimina alcune ottimizzazioni del Jitter) può contribuire a rendere il nostro codice più "lento".
IN VS 2005 gli AppDomains saranno da 1 a 50 volte più veloci
L'uso dei delegates sarà fino a 10 volte più veloce ed avremo delle nuove APIs (es: MemoryPressure) che permetteranno un fine tuning del funzionamento del Garbage Collector.
In Longhorn, dove tutto sarà managed, la maggior parte delle assemblies saranno già caricate quindi lo startup e la velocità tipica delle applicazioni sarà ottimale.
Obiettivo: Raggiungere le prestanzioni (e migliorare) quelle di Win32 usando managed code.

And now... Back to Italy! ;-)