This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: C++ math optimization problem...


Hello,

Regarding the testcase I mentioned before, I have been checking out the Intel compiler to see if it would generate better code. Interestingly enough, it displays EXACTLY the same run-times as gcc for the two tests (0.2s for math in if-block, 1.0s for math out of if-block).

So this is rather strange.

Shall I file a PR if it doesn't become clear what is going on?

thanks,
-BenRI

include <vector>

const int OUTER = 100000;
const int INNER = 1000;

using namespace std;

int main(int argn, char *argv[])
{
  int s = atoi(argv[1]);

double result;

  {
    vector<double> d(INNER); // move outside of this scope to fix

    // initialize d
    for (int i = 0; i < INNER; i++)
      d[i] = double(1+i) / INNER;

    // calc result
    result=0;
    for (int i = 0; i < OUTER; ++i)
      for (int j = 1; j < INNER; ++j)
        result += d[j]*d[j-1] + d[j-1];
  }

  printf("result = %f\n",result);
  return 0;
}

P.S. Um, is the gcc listserv intelligent enough not to send you all a second copy of this e-mail?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]