Comments (5)
  • Add a Comment
  • Edit
  • More Actions v
  • Quarantine this Entry

1 johnpm commented Permalink

HI Visda,The ability to pick and choose what you optimize is interesting.<div>&nbsp;</div> You said....."I wanted the entire compilation unit, CU, to be compiled at O3 except one, non-overloaded function. I used* #pragma option_override* to bump down the optimization level to O2 for that one function...." <div>&nbsp;</div> Did bumping down the optimization level for that one particular function make a big performance difference? What criteria did you use to decide to downlevel the optimization for that one function?

2 Visda commented Permalink

Hello, John: Interesting questions! Yes, in fact I am studying this at the moment. I will write more soon.

3 johnpm commented Permalink

Hi Visda. Don't forget me! By the way, I just reread your post. Why did you "want to disable optimization at the subprogram level"?

4 Visda commented Permalink

Since, I last posted I have done more selective optimization. I have done it to debug functional problems, I have done it to get the performance back. I have found #pragma option_override to be very useful. So you see, I have not forgotten you. Write me how has #pragma option_override made an impact on your application compile and run times.

5 Sean_Perry commented Permalink

Add TEMPLATEREGISTRY to that list of template options. The template registry solves many of the problems that TEMPINC had. The most notable improvement is template registry doesn't require reorganizing your source. I'd suggest using TEMPLATEREGISTRY over TEMPINC and migrating to TEMPLATEREGISTRY if you are using TEMPINC.