#console Function MyTime$() As String Dim buf[260] As Byte GetTimeFormat(LOCALE_USER_DEFAULT, _ LOCALE_NOUSEROVERRIDE, ByVal 0, 0, buf, 255) MyTime$ = MakeStr(buf) End Function Dim cnt As DWord'カウンタ Dim tim As DWord'タイマ Dim T As String '標準版 tim = GetTickCount() + 5000 ' 5秒 While tim > GetTickCount() T = Time$() cnt = cnt + 1 Wend Print T , cnt '高速版 cnt = 0 tim = GetTickCount() + 5000 ' 5秒 While tim > GetTickCount() T = MyTime$() cnt = cnt + 1 Wend Print T , cntTime$しかやっていませんが、Date$も同じようになるでしょう。
23:04:45 35971 23:04:50 336240
181行目のExp関数にある、_System_LOG2+0.5は不変です。
1.193147180559945309417232121458です。_System_LOG2-0.5も同じく不変です。
267行目のAtn関数内の_System_PI/2も変わることはありません。
1.5707963267948966192313216916398です。
297行目の_Support_tan関数にも上と同じく_System_PI/2があります。
307行目の(CDbl(3217)/CDbl(2048))も変化しないでしょう。
1.57080078125です。
332行目のCos関数はSin(_System_PI/2-Abs(number))となっています。
公式Cos(@) = Sin(90-@)を使ってSin(1.5707963267948966192313216916398 - number)でも良いでしょう。
以上の方法は、長いループ内で効果が出ると思います。短いループではほとんど差は出ないはずです。