#include #include #include #include #include "fasthash.h" #include "treetrie.h" int main(int argc, char *argv[]) { tt_arena_t a; int i, outer; tt_node_ptr_t prev = TT_EMPTY; setbuf(stdout, NULL); tt_arena_init(&a); for (outer = 0; outer < 10; outer++) { /* printf("---------------------------------------- grab/drop of %d\n", prev); */ tt_grab(&a, prev); tt_drop(&a, prev); /* tt_arena_flush(&a); */ /* printf("---------------------------------------- AFTER DROP of %d:\n", prev); */ /* tt_dump_arena(&a); */ prev = TT_EMPTY; /* printf("======================================== LOOP ITERATION %d\n", outer); */ /* tt_dump_arena_summary(&a); */ for (i = 0; i < 1000000; i++) { tt_node_ptr_t leaf = tt_cons_leaf(&a, TT_OK, 1001); tt_node_ptr_t curr = tt_cons_node(&a, 0, leaf, prev); /* tt_dump_arena(&a); */ prev = curr; } } /* tt_dump_arena(&a); */ tt_grab(&a, prev); tt_drop(&a, prev); /* tt_arena_flush(&a); */ tt_dump_arena_summary(&a); tt_arena_done(&a); return EXIT_SUCCESS; }