コード例 #1
0
ファイル: openmp.cpp プロジェクト: kells1986/threading
int main() 
{
  double start = time_please();

  int large_number1 = 2000000;
  int large_number2 = 2324500;
  #pragma omp parallel num_threads(2)

  if (omp_get_thread_num() == 0) {
    prime1(large_number1);
  }

  if (omp_get_thread_num() == 1) {
    prime1(large_number2);
  }
  #pragma omp barrier
  double end = time_please();

  std::cout << "threads completed in: " << end - start << std::endl;

  start = time_please();
  prime1(large_number1);
  prime1(large_number2);
  end = time_please();
  std::cout << "non-threads completed in: " << end - start << std::endl;

  return 0;
}
コード例 #2
0
ファイル: ariprog.c プロジェクト: houjun/acm_icpc
int main()
{

	FILE *fin=fopen("pprime.in","r");
	FILE *fout=fopen("pprime.out","w");   
	int a,b,i,num;

	clock_t begin, end;
	double  cost;
	begin = clock();

	fscanf(fin,"%d %d",&a,&b);

	if((b-a)>500000)
		num=prime1(pnum,a,b);
	else{
		num=prime2(pnum,a,b);
		start=0;
	}

	for (i = start; i < num ; i++){
		if(pnum[i]>=a)
			if(ispal(pnum[i]))
				fprintf(fout,"%d\n",pnum[i]);		
	}

	end = clock();
	cost = (double)(end - begin) / CLOCKS_PER_SEC;
	printf("%lf seconds\n", cost);


	return 0;
}