On Wednesday, 15 July 2015 at 08:32:19 UTC, Kagamin wrote:
On Wednesday, 15 July 2015 at 00:28:47 UTC, Ola Fosheim Grøstad wrote:
I am happy if I see that I have consistent 20% headroom, and I am not going to be happier by making my program faster...

But then why optimizations would matter? If the program is fast, you won't improve it by improving performance by 2 times: it will remain fast, and if it's slow, it's probably an algorithmic complexity.

Ability to optimize later matters because I need to keep the deadline, or else the real time thread will be killed by the OS. If I miss the deadline occasionally, maybe I only need 10% improvement.

I have many options. I can reduce fidelity in an audio application. I can put more work into integrating two loops into one loop and keep values in SIMD registers based on the number of SIMD register the particular CPU supports etc...

What I don't want to do is restructure the entire dataset, so I put more work into memory layout than the initial loop. If the loop completes in time I'm good, if not, I put more work into it (or reluctantly reduce fidelity).

You said it yourself that to get performance from C you need extensions, it's not provided by C semantics itself.

No? I said I write "cpu independent simd" in my core performance oriented loop as a starting point. Whether I need to do that is debatable... but it ensures that data structures are designed to be simd friendly from the start.

Reply via email to