Pourquoi la version OpenMP est plus lente?

Je suis expérimenter avec OpenMP. J'ai écrit du code pour vérifier ses performances. Sur un 4-core unique PROCESSEUR Intel avec Kubuntu 11.04, le programme suivant compilé avec OpenMP est environ 20 fois plus lent que le programme est compilé sans OpenMP. Pourquoi?

J'ai compilé par g++ -g -O2 -funroll-loops-fomit-frame-pointer -march=native -fopenmp

#include <math.h>
#include <iostream>

using namespace std;

int main ()
{
  long double i=0;
  long double k=0.7;

  #pragma omp parallel for reduction(+:i)
  for(int t=1; t<300000000; t++){       
    for(int n=1; n<16; n++){
      i=i+pow(k,n);
    }
  }

  cout << i<<"\t";
  return 0;
}

source d'informationauteur Duncan