----boundary-LibPST-iamunique-871902483_-_-
Content-type: text/plain
Doug,
With this test program, I get a resolution of 3.4 µs on WIN98 600 MHz, and
0.83 µs on XP 1700 MHz:
MODULE UtilTime;
IMPORT
StdLog, WinApi;
VAR
freq: LONGINT;
PROCEDURE GetTime* (): REAL;
VAR
count: LONGINT;
ok: INTEGER;
BEGIN (*GetTime*)
ok := WinApi.QueryPerformanceCounter(count); ASSERT(ok # 0, 100);
RETURN count / freq;
END GetTime;
PROCEDURE TestTime*;
CONST
loops = 10000;
VAR
dt, t0, t1: REAL;
i: INTEGER;
BEGIN (*TestTime*)
dt := MAX(REAL);
t0 := GetTime();
FOR i := 1 TO loops DO
t1 := GetTime();
IF t1 > t0 THEN
dt := MIN(t1 - t0, dt);
END;
t0 := t1;
END;
StdLog.String("dt = ");
StdLog.Real(dt);
StdLog.Ln;
END TestTime;
PROCEDURE Init;
VAR
ok: INTEGER;
BEGIN (*Init*)
ok := WinApi.QueryPerformanceFrequency(freq); ASSERT(ok # 0, 100);
END Init;
BEGIN (*UtilTime*)
Init;
END UtilTime.
<Ctrl-Q> UtilTime.TestTime;
--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy
----boundary-LibPST-iamunique-871902483_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCBEb3VnLFxwYXINClxwYXINCldp
dGggdGhpcyB0ZXN0IHByb2dyYW0sIEkgZ2V0IGEgcmVzb2x1dGlvbiBvZiAzLjQgXCdiNXMgb24g
V0lOOTggNjAwIE1IeiwgYW5kXHBhcg0KMC44MyBcJ2I1cyBvbiBYUCAxNzAwIE1IejpccGFyDQpc
cGFyDQpNT0RVTEUgVXRpbFRpbWU7XHBhcg0KXHBhcg0KIElNUE9SVFxwYXINClxwYXINCiAgU3Rk
TG9nLCBXaW5BcGk7XHBhcg0KXHBhcg0KIFZBUlxwYXINClxwYXINCiAgZnJlcTogTE9OR0lOVDtc
cGFyDQpccGFyDQogUFJPQ0VEVVJFIEdldFRpbWUqICgpOiBSRUFMO1xwYXINClxwYXINCiAgVkFS
XHBhcg0KXHBhcg0KICAgY291bnQ6IExPTkdJTlQ7XHBhcg0KICAgb2s6IElOVEVHRVI7XHBhcg0K
XHBhcg0KICBCRUdJTiAoKkdldFRpbWUqKVxwYXINCiAgIG9rIDo9IFdpbkFwaS5RdWVyeVBlcmZv
cm1hbmNlQ291bnRlcihjb3VudCk7IEFTU0VSVChvayAjIDAsIDEwMCk7XHBhcg0KICAgUkVUVVJO
IGNvdW50IC8gZnJlcTtccGFyDQogIEVORCBHZXRUaW1lO1xwYXINClxwYXINCiBQUk9DRURVUkUg
VGVzdFRpbWUqO1xwYXINClxwYXINCiAgQ09OU1RccGFyDQpccGFyDQogICBsb29wcyA9IDEwMDAw
O1xwYXINClxwYXINCiAgVkFSXHBhcg0KXHBhcg0KICAgZHQsIHQwLCB0MTogUkVBTDtccGFyDQog
ICBpOiBJTlRFR0VSO1xwYXINClxwYXINCiAgQkVHSU4gKCpUZXN0VGltZSopXHBhcg0KICAgZHQg
Oj0gTUFYKFJFQUwpO1xwYXINCiAgIHQwIDo9IEdldFRpbWUoKTtccGFyDQogICBGT1IgaSA6PSAx
IFRPIGxvb3BzIERPXHBhcg0KICAgIHQxIDo9IEdldFRpbWUoKTtccGFyDQogICAgSUYgdDEgPiB0
MCBUSEVOXHBhcg0KICAgICBkdCA6PSBNSU4odDEgLSB0MCwgZHQpO1xwYXINCiAgICBFTkQ7XHBh
cg0KICAgIHQwIDo9IHQxO1xwYXINCiAgIEVORDtccGFyDQogICBTdGRMb2cuU3RyaW5nKCJkdCA9
ICIpO1xwYXINCiAgIFN0ZExvZy5SZWFsKGR0KTtccGFyDQogICBTdGRMb2cuTG47XHBhcg0KICBF
TkQgVGVzdFRpbWU7XHBhcg0KXHBhcg0KIFBST0NFRFVSRSBJbml0O1xwYXINClxwYXINCiAgVkFS
XHBhcg0KXHBhcg0KICAgb2s6IElOVEVHRVI7XHBhcg0KXHBhcg0KICBCRUdJTiAoKkluaXQqKVxw
YXINCiAgIG9rIDo9IFdpbkFwaS5RdWVyeVBlcmZvcm1hbmNlRnJlcXVlbmN5KGZyZXEpOyBBU1NF
UlQob2sgIyAwLCAxMDApO1xwYXINCiAgRU5EIEluaXQ7XHBhcg0KXHBhcg0KIEJFR0lOICgqVXRp
bFRpbWUqKVxwYXINCiAgSW5pdDtccGFyDQogRU5EIFV0aWxUaW1lLlxwYXINClxwYXINCjxDdHJs
LVE+IFV0aWxUaW1lLlRlc3RUaW1lO1xwYXINClxwYXINCi0tLSBCbGFja0JveFxwYXINCi0tLSBz
ZW5kIHN1YmplY3QgSEVMUCBvciBVTlNVQlNDUklCRSB0byBibGFja2JveEBvYmVyb24uY2hccGFy
DQpccGFyDQp9
----boundary-LibPST-iamunique-871902483_-_---
Received on Thu Apr 21 2005 - 21:52:13 UTC
This archive was generated by hypermail 2.3.0
: Thu Sep 26 2013 - 06:28:17 UTC