Help optimizing code?
user1234
user1234 at 12.nl
Mon Jan 1 15:43:51 UTC 2018
On Monday, 1 January 2018 at 15:23:19 UTC, Adam D. Ruppe wrote:
> On Monday, 1 January 2018 at 15:09:53 UTC, Lily wrote:
>> I started learning D a few days ago, coming from some very
>> basic C++ knowledge, and I'd like some help getting a program
>> to run faster.
>
> So a few easy things you can do:
>
> 1) use `float` instead of `real`. real sucks, it is really slow
> and weird. Making that one switch doubled the speed on my
> computer.
Yes I've also adviced double. Double is better if the target arch
is X86_64 since part of the operations will be made with SSE.
With "real" the OP was **sure** to get 100% of the maths done in
the FPU (although for all the trigo stuff there's no choice)
>
> 2) preallocate the imageData. before the loop,
> `imageData.reserve(width*height*3)`. Small savings on my
> computer but an easy one.
>
> 3) make sure you use the compiler optimization options like
> `-O` and `-inline` on dmd (or use the gdc and ldc compilers
> both of which generally optimize better than dmd out of the
> box).
>
>
> And if that isn't enough we can look into smaller things, but
> these overall brought the time down to about 1/3 what it
> started on my box.
More information about the Digitalmars-d-learn
mailing list