Re: Giving hints to the compiler/optimizer (#pragma hint ...)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jonathan Wakely wrote on 06/22/2018 01:27 PM:
On Fri, 22 Jun 2018 at 11:35, U.Mutlu wrote:

Jonathan Wakely wrote on 06/22/2018 11:42 AM:
On Fri, 22 Jun 2018 at 07:32, U.Mutlu wrote:
(The manual version has of course the disadvantage that user has to define an
additional variable and because of that, put the code in its own scope...)

You don't have to change the scope:

for (size_t i = 1, vec_sz = vec.size(); i < vec_sz; ++i)

Yes, I know that, but it lacks the "const" attribute.

Does it matter? The compiler can still see it doesn't change.

Yes, true, compiler can optimize it.


Here's another, more general C++ solution for defining any type of variables,
also additional variables to be used only inside the for-loop:

struct forVars { const size_t sz; size_t i; forVars(const size_t Asz, const size_t Astart = 0) noexcept : sz(Asz), i(Astart) {} };
for (forVars S(vec.size()); S.i < S.sz; ++S.i)   // S.sz is const
  ...


:-)
Maybe a little bit overkill for this simple example... :-)




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux