--- libelwix/example/rb.c 2013/01/17 10:05:35 1.1.1.1 +++ libelwix/example/rb.c 2023/07/27 21:53:31 1.1.1.1.128.1 @@ -56,39 +56,39 @@ main() gettimeofday(&before, NULL); for (i = 0; i < 1000000; i++) { - b = malloc(sizeof(struct blah)); + b = e_malloc(sizeof(struct blah)); memset(b, 0, sizeof(struct blah)); b->n = random(); if (RB_INSERT(rb_head, &rbh, b)) - free(b); + e_free(b); } gettimeofday(&after, NULL); printf("RB::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); gettimeofday(&before, NULL); for (i = 0; i < 1000000; i++) { - b = malloc(sizeof(struct blah)); + b = e_malloc(sizeof(struct blah)); memset(b, 0, sizeof(struct blah)); b->n = random(); if (SPLAY_INSERT(sp_head, &sph, b)) - free(b); + e_free(b); } gettimeofday(&after, NULL); printf("SP::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); gettimeofday(&before, NULL); for (i = 0; i < 1000000; i++) { - b = malloc(sizeof(struct blah)); + b = e_malloc(sizeof(struct blah)); memset(b, 0, sizeof(struct blah)); b->n = random(); if (AVL_INSERT(avl_head, &avlh, b)) - free(b); + e_free(b); } gettimeofday(&after, NULL); printf("AVL::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); gettimeofday(&before, NULL); for (i = 0; i < 1000000; i++) { - b = malloc(sizeof(struct blah)); + b = e_malloc(sizeof(struct blah)); memset(b, 0, sizeof(struct blah)); b->n = random(); SLIST_INSERT_HEAD(&slh, b, node3); @@ -97,7 +97,7 @@ main() printf("SLIST::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); gettimeofday(&before, NULL); for (i = 0; i < 1000000; i++) { - b = malloc(sizeof(struct blah)); + b = e_malloc(sizeof(struct blah)); memset(b, 0, sizeof(struct blah)); b->n = random(); TAILQ_INSERT_HEAD(&tqh, b, node4); @@ -107,7 +107,7 @@ main() printf("---\n"); - b2 = malloc(sizeof(struct blah)); + b2 = e_malloc(sizeof(struct blah)); gettimeofday(&before, NULL); for (i = 0; i < 10000; i++) { memset(b2, 0, sizeof(struct blah)); @@ -149,32 +149,30 @@ main() printf("---\n"); - free(b2); + e_free(b2); gettimeofday(&before, NULL); while ((b = TAILQ_FIRST(&tqh))) { TAILQ_REMOVE(&tqh, b, node4); - free(b); + e_free(b); } gettimeofday(&after, NULL); printf("TAILQ::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); gettimeofday(&before, NULL); while ((b = SLIST_FIRST(&slh))) { SLIST_REMOVE(&slh, b, blah, node3); - free(b); + e_free(b); } gettimeofday(&after, NULL); printf("SLIST::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); gettimeofday(&before, NULL); AVL_FOREACH_SAFE(b, avl_head, &avlh, b2) { - /* printf("aaa %p[%d] %p[%d] --- ", b, b ? b->n : 0, b2, b2 ? b2->n : 0); printf("b:%p %p /// ", b ? AVL_LEFT(b, node2) : b, b ? AVL_RIGHT(b, node2) : b); printf("b2:%p %p\n", b2 ? AVL_LEFT(b2, node2) : b2, b2 ? AVL_RIGHT(b2, node2) : b2); fflush(stdout); - */ AVL_REMOVE(avl_head, &avlh, b); - free(b); + e_free(b); } gettimeofday(&after, NULL); printf("AVL::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); @@ -189,8 +187,11 @@ main() gettimeofday(&before, NULL); RB_FOREACH_SAFE(b, rb_head, &rbh, b2) { + printf("aaa %p[%d] %p[%d] --- ", b, b ? b->n : 0, b2, b2 ? b2->n : 0); + printf("b:%p %p /// ", b ? RB_LEFT(b, node) : b, b ? RB_RIGHT(b, node) : b); + printf("b2:%p %p\n", b2 ? RB_LEFT(b2, node) : b2, b2 ? RB_RIGHT(b2, node) : b2); fflush(stdout); RB_REMOVE(rb_head, &rbh, b); - free(b); + e_free(b); } gettimeofday(&after, NULL); printf("RB::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6);