Larger critbit exercise

This commit is contained in:
Tony Garnock-Jones 2015-06-30 16:56:41 -04:00
parent 08f2400e49
commit 44b6db9ae0
2 changed files with 10 additions and 9 deletions

15
main.c
View File

@ -55,25 +55,26 @@ int main(int argc, char *argv[]) {
setbuf(stdout, NULL);
tt_arena_init(&a);
tt_dump_arena(&a);
for (i = 0; i < 10; i++) {
/* tt_dump_arena(&a); */
for (i = 0; i < 1000000; i++) {
tt_node_ptr_t next = tt_dict_set(&a, curr, i, TT_OK);
tt_drop(&a, curr);
curr = tt_grab(&a, next);
printf("\nAfter i=%d...\n", i);
tt_dump_arena(&a);
/* printf("\nAfter i=%d...\n", i); */
/* tt_dump_arena(&a); */
}
/* tt_arena_flush(&a); */
printf("\nFinal tree node index is %u/%u\n", tt_ptr_idx(curr), tt_ptr_tag(curr));
tt_dump_arena(&a);
/* tt_dump_arena(&a); */
tt_dict_foreach(&a, curr, NULL, dump_mapping);
/* tt_dict_foreach(&a, curr, NULL, dump_mapping); */
tt_drop(&a, curr);
curr = TT_NO_PTR;
/* tt_arena_flush(&a); */
tt_dump_arena(&a);
/* tt_dump_arena(&a); */
/* tt_dump_arena_summary(&a); */
tt_arena_done(&a);
return EXIT_SUCCESS;

View File

@ -99,7 +99,7 @@ static tt_node_idx_t chain_pop(tt_arena_t *a, tt_free_chain_t *chain) {
int tt_arena_init(tt_arena_t *a) {
a->max_probe = 0;
a->table_length = 16; // 16411; /* 16384; */
a->table_length = 16411; /* 16384; */
a->table = calloc(a->table_length, sizeof(a->table[0]));
a->headers = calloc(a->table_length, sizeof(a->headers[0]));
a->nodes = calloc(a->table_length, sizeof(a->nodes[0]));
@ -220,7 +220,7 @@ static int tt_grow(tt_arena_t *a) {
/* printf("//////////////////////////////////////// GROW finished (length %d)\n", a->table_length); */
/* printf("POSTGROW\n"); */
/* tt_dump_arena(a); */
/* tt_dump_arena_summary(a); */
free(old_table);
return 0;