文章

benchmark for tokyocacabinet

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

// gcc -o tokyocabinet_test -ltokyocabinet -lbz2 -lz -lpthread -lm -lc -L/usr/local/lib -L/opt/local/lib -I/usr/local/include tokyocabinet_test.c 


int main(int argc, char **argv){
	const char *dbname;
	dbname = "/Users/peter/tcttest.tct";
	printf(dbname);
	printf("\n");
	TCADB *adb = tcadbnew();
	if(!tcadbopen(adb, dbname)){
	 	fprintf(stderr, "open error: %s\n", dbname);
	}
	
	const int max_line = 1000000;
	int i;
	
	const char *key;
	const char *value;
	
	char tempstr[10];


	clock_t start, end;
	long elapsed;

	start = clock();
		
	for(i = 0;i <= max_line; i ++)
	{
		/* code */
		sprintf(tempstr, "%d", i);
		key = tempstr;
		sprintf(tempstr, "%d", i);
		value = tempstr;
		tcadbput2(adb,key,value);
	}
		
	end = clock();
	elapsed = ((end - start) * 1000 )/ CLOCKS_PER_SEC;
	printf("TOTAL TIME = %ld\n",elapsed);
	  
	if(!tcadbclose(adb)){
	    fprintf(stderr, "close error:");
		return 0;
	}
	tcadbdel(adb);
	return 0;
}
</pre>
本文由作者按照 CC BY 4.0 进行授权