數組分頁導致的性能損失驗證程序

#include <iostream>
#include <ctime>
using namespace std;
#define N 4096
void main(){
	int **a = new int*[N];
	for(int i = 0; i < N; i++)
		 a[i] = new int[N];
	int **b = new int*[N];
	for(i = 0; i < N; ++i)
		 b[i] = new int[N];

	int j;
	clock_t begin1 = clock();
	for(i = 0; i < N; ++i)
		for(j = 0; j < N; ++j)
			a[i][j] = 2;
	//爲了避免new運算符執行時間的影響,先將兩個空間分配好
	clock_t end1 = clock();

	clock_t begin2 = clock();
	for(i = 0; i< N; ++i)
		for(j = 0; j < N; ++j)
			a[j][i] = 2;
	clock_t end2 = clock();

	cout << end1 - begin1 << endl;
	cout << end2 - begin2 << endl;

}

發佈了180 篇原創文章 · 獲贊 18 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章