#include #include "../data.h" int main() { int i, j = 0; printf("creating 200 tables, each with 10 entries stored in 16...\n"); struct timeval start_tv; gettimeofday(&start_tv, NULL); double start_ms = (start_tv.tv_sec) * 1000 + (start_tv.tv_usec) / 1000; struct Table **tables = malloc(sizeof(struct Table*)*200); for (i=0;i<200;i++) { // printf("table %d\n", i); struct Table *table = newTable(16); tables[i] = table; for (j=0;j<10;j++) { // printf(" entry %d\n", j); char string[4]; string[0] = (char)65+((i*j)%15); string[1] = (char)65+(((i*j)+5)%15); string[2] = (char)65+(((i*j)+15)%15); string[3] = (char)65+(((i*j)+65)%15); string[4] = '\0'; addTablePair(table, string, string, 5*sizeof(char), T_STRING); // printf(" %s(%d)=>%s\n", string, getTableIndex(table, string), getTablePairValue(table, string)); } } struct timeval end_tv; gettimeofday(&end_tv, NULL); double end_ms = (end_tv.tv_sec) * 1000 + (end_tv.tv_usec) / 1000; printf("done in %d(%fms)\n", end_tv.tv_sec-start_tv.tv_sec, end_ms-start_ms); printf("now retrieving...\n"); gettimeofday(&start_tv, NULL); start_ms = (start_tv.tv_sec) * 1000 + (start_tv.tv_usec) / 1000; for (i=0;i<200;i++) { /* j = 0; while (j < tables[i]->size) { struct TablePair *table_pair = tables[i]->pair[j]; while (table_pair != NULL) { // if (table_pair->type == T_STRING) // printf("%s=>%s!\n", table_pair->key, table_pair->value); table_pair = table_pair->next; } j++; }*/ for (j=0;j<10;j++) { // printf(" entry %d\n", j); char string[4]; string[0] = (char)65+((i*j)%15); string[1] = (char)65+(((i*j)+5)%15); string[2] = (char)65+(((i*j)+15)%15); string[3] = (char)65+(((i*j)+65)%15); string[4] = '\0'; // getTablePair(tables[i], string); // printf(" %s(%d)=>%s\n", string, getTableIndex(tables[i], string), getTablePairValue(tables[i], string)); int ind = getTableIndex(tables[i], string); void *value = getTablePairValue(tables[i], string); } } gettimeofday(&end_tv, NULL); end_ms = (end_tv.tv_sec) * 1000 + (end_tv.tv_usec) / 1000; printf("done in %d(%fms)\n", end_tv.tv_sec-start_tv.tv_sec, end_ms-start_ms); return 0; }