Hello Folks I bland blir optimeringen för 'small' snabbare än den för 'fast' det händer oftast när man kommer över en meg i exe-filen.Svar till Simon: Compiler val ?
Citerar en artikel i ämnet hur att välj vid kompilering.
Hur effektiv blir min exefil ?
Inställning Tid för Exekvering
P-code 0.906
No Optimization 0.401
Small Code 0.256
Fast Code 0.238
Filstorlek
No Optimization 199K
Small Code 170K
Fast Code 193K
Advanced Optimization vid Fast Code
Du reducerar VB:s checking för högre prestanda
på bekostnad av säkerhet.Om du skriver säker kod
kan du öka prestanda högst avsevärt.
DVS med alla allternativ förbockade får du högsta prestanda.
Om du har förbockat några eller alla så kommer exefilen
att krascha hos användaren om något av dessa vilkor inträffar..
Aliasing 0.007 0.007
Array Bounds 0.013 0.007
Integer Overflow 0.018 0.002 whoops !
Floating Point Error 0.098 0.046
Unrounded Compare 0.088 0.056
FDIV Safe 0.098 0.095
Aliasing kan förbockas om du inte ändrar en Global variabel
i en Lokal procedur.Undvik samma namn på
Globala och Lokala variabler
ArrayBounds kan du bocka för om.
Se till att programmet inte någonsin får subscript out of range
Integer Overflow om programmet har mycket matematik slingor
kan du vinna avsevärd tid om du har försäkrat dig om att
du inte får Overflow.
Floating Point Error :kan du bocka för om du är säker på att
programmet aldrig tex försöker göra division med 0 mm.mm
Unrounded Compare : lite lurigt . Om du aldrig använder Single
så kan du alltid bocka för. Du kan få fel om du har olika
datatyper på vardera sidan om = tex a As Single b As Double
a = b kan generera ett avrundningsfel krasch !
FDIV Safe :Kan du bocka för på alla moderna maskiner
En gammal bugg i en tidig Pentiumprocessor Floatingpointdivision.
Det händer ingenting vare sig med eller utan.Ett litet räknefel på decimalnivå
Favor PentiumPro tar vara på optimationstrix i nyare Pentiumprocessorer.
Om programmet körs på tex en 486 kommer programmet att köras långsammare.
mvh
farbror SvenSv: Svar till Simon: Compiler val ?
Tack Sven för lektionen.
Har inte reflekterat över detta tidigare...Sv: Svar till Simon: Compiler val ?
Skillnaden mellan p-code och native är beroende av hur mycket vb-kod som exekveras. Om allt man gör är att anropa ADO o.dyl så märks nästan ingen skillnad.
/johan/