Performance of tables slower than built in?
Alex
AJ at gmail.com
Thu May 23 21:47:45 UTC 2019
On Thursday, 23 May 2019 at 19:17:40 UTC, Ola Fosheim Grøstad
wrote:
> On Wednesday, 22 May 2019 at 00:22:09 UTC, JS wrote:
>> xxx = 0;
>> sw.reset();
>> sw.start();
>> for(double i = 0; i < 10000000; i++) xxx += sin(PI*i);
>> t = sw.peek().msecs;
>> writeln(t);
>> sw.stop();
>> }
>
> What you are doing wrong is that xxx is never used... So DMD
> removes it altogether?
>
> If you add writeln(xxx) after the second loop as well, then
> maybe the measurements make more sense?
>
> Ola.
maybe, I thought I put in the writeln(xxx) in there to do that...
yeah, looking at my code it's there, so that is not the problem.
This is the code I had,
import std.datetime;
double xxx = 0;
StopWatch sw;
sw.start();
for(double i = 0; i < 10000000; i++) xxx += sinTab(i);
auto t = sw.peek().msecs;
writeln(t);
sw.stop();
writeln(xxx);
xxx = 0;
sw.reset();
sw.start();
for(double i = 0; i < 10000000; i++) xxx += sin(PI*i);
t = sw.peek().msecs;
writeln(t);
sw.stop();
writeln(xxx);
Either I modified it later or deleted one of those lines or the
editor screwed up when I pasted it... I don't recall touching the
code afterwards.
Either way, sin it's still twice as fast. Also, in the code the
sinTab version is missing the writeln so it would have been
faster.. so it is not being optimized out.
More information about the Digitalmars-d-learn
mailing list