Dag 2 – APP403 – Building High-Performance Apps Using the .NET Compact Framework

Använd diagnos verktyg
Performance counter
Remote performance monitor

Större filer längre laddtider
Håll nere storleken på exe filen

Skapa en splash app som kör huvud applikationen på en backgrundtråd

Metod anrop är 2-3 gånger långsammare än i native kod
Virituella metoder ca 1.5 gånger långsammare
P/invoke 5 gånger långsammare än native

Gc ta längre tid om det finns många levande objekt

Man måste överväga om man skall ha kortlivade objekt eller om man skall ha långlivade objekt. Olika lösningar ger olika prestanda profiler.

Använd generics med alla värdetyper. Då undviker man boxing

Använd Enviormeng.TickCount istället för datetime för mätningar

Undvik att köra icke ui kod på ui tråden

Undvik reflection speciellt på metod nivå eller på assembly

Implmentera .ToString() på objekt som använder detta i performance kännslig kod eftersom reflection används i bakgrunden

Skapa webservice proxys och seriallizers så få gånger som möjligt efterom dessa använder reflection

Interop
Gör chunky metoder istället för chatty för ökad prestanda
Försök att använda värde typer för att minska marshaling

En mycket informations packat session och mycket bra även om det gick fort.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s