[ create a new paste ] login | about

Link: http://codepad.org/94bl1tjI    [ raw code | fork ]

C++, pasted on Jun 1:
#include <vector>
#include <algorithm>

#include <cstdio>
#include <cstring>

#include <sys/time.h>

using namespace std;

typedef struct timeval timeval;
timeval start, end;

int main()
{
	// 10M elements
	vector<int> testVector(10000000);
	
	printf("Filling the vector with 10M elements..\n");
	
	gettimeofday(&start, NULL);
	
	fill(testVector.begin(), testVector.end(), 3);

	gettimeofday(&end, NULL);
	
	long long totTimeFill = (end.tv_sec - start.tv_sec) * 1000000
		+ (end.tv_usec - start.tv_usec);
	
	printf("using std::fill it took %llu usec or ~ %f sec.\n",
		totTimeFill, totTimeFill/1000000.0);
	
	gettimeofday(&start, NULL);
	
	memset(&testVector[0], 3, sizeof(int) * testVector.size());

	gettimeofday(&end, NULL);
	
	long long totTimeMemset = (end.tv_sec - start.tv_sec) * 1000000
			+ (end.tv_usec - start.tv_usec);
		
	printf("using memset it took %llu usec or ~ %f sec.\n",
			totTimeMemset, totTimeMemset/1000000.0);
	
	printf("Memset is %f times faster!\n", totTimeFill/(double)totTimeMemset);
	
	return 0;
}


Create a new paste based on this one


Comments: