Zitat von
Amateurprofi:
Und so geht es noch simpler und schneller.
Delphi-Quellcode:
function xSmallToDouble(CodZahl: Integer): Double;
const scale:array[0..7] of double=
(1/100,1/10000,1/1000000,1.0,1/100,1/10000,1/1000000,1.0);
begin
if CodZahl>=0 then result:=(CodZahl and $9FFFFFFF)*scale[CodZahl shr 29]
else result:=(CodZahl or $60000000)*scale[CodZahl shr 29];
end;
das ist ja cool ! also das ist wirklich praktisch nicht mehr zu unterscheiden, als wenn man die Double Werte einliest.
Auch wenn ich noch nicht wirklich verstehe, was Du da machst und warum das schneller ist !
Bringt ungefähr 10 Prozent beim Einlesen von Daten.
Bei Deiner Messfunktion kommt bei mir 32 zu 20 raus und nicht 88 zu 53 wie bei Dir. Hat das was mit der CPU Geschwindigkeit zu tun ?
Sollte doch eigentlich nicht ? (Prozessor Typ AMD-Intel)
Ist Dein rdtsc gleichbedeutend mit : queryperformancecounter ? Damit messe ich immer.
Vielen Dank !
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.