12. oktober 2000 - 09:33Der er
17 kommentarer og 1 løsning
Jonglere med milisekunder i Borland C++ Builder
Jeg vil gerne lave en program stump der kan fortælle mig hvor lang tid det tager at løbe f.eks en løkke igennem. Jeg forestiller mig at det skal være noget i retning af:
(pseudokode)
Start = now i milisekunder Her er den løkke der skal løbes igennem Slut = now i milisekunder
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Den hårde fysisk vej er at se på den enkelte kommando og hvordan borland compileren kompilerer den enkelte kode over i asm, og se her hvor mange linjer den fylder, en linje er så en clockcycle.
Det kan jo rent faktisk godt være at 10000 gennemløb af ovenstående forholdsvis simple løkkestruktur tager under 1 millisekund og at 0.0 derfor er korrekt. Ligepræcis en for løkke kan i ASM forkortes til stort set to instruktioner: DECR, JNZ, hvis blot programmet starter med at loede I til f.eks. AX registret.
OK borrisholt det fungerer også, men problemet har udviklet sig til et konverteringsproblem.
Når jeg nu har lavet 10000 gennemløb vil jeg gerne regne ud hvor lang tid det tog pr gennemløb, hvordan laver jeg en sådan division med en præcision på ca 10 betydende cifre.
Jammen jeg er ikke så hurtig :-) Nå men vi besluttede at benytte den første løsning selvom den ikke er så præcis igen, så jeg har ikke lige fået testet den sidste løsning.
Du skal dog have dine point alligevel - tak for hjælpen
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.