version 1.1.1.1, 2013/01/17 10:05:35
|
version 1.2, 2024/01/22 15:24:28
|
Line 56 main()
|
Line 56 main()
|
|
|
gettimeofday(&before, NULL); |
gettimeofday(&before, NULL); |
for (i = 0; i < 1000000; i++) { |
for (i = 0; i < 1000000; i++) { |
b = malloc(sizeof(struct blah)); | b = e_malloc(sizeof(struct blah)); |
memset(b, 0, sizeof(struct blah)); |
memset(b, 0, sizeof(struct blah)); |
b->n = random(); |
b->n = random(); |
if (RB_INSERT(rb_head, &rbh, b)) |
if (RB_INSERT(rb_head, &rbh, b)) |
free(b); | e_free(b); |
} |
} |
gettimeofday(&after, NULL); |
gettimeofday(&after, NULL); |
printf("RB::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |
printf("RB::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |
gettimeofday(&before, NULL); |
gettimeofday(&before, NULL); |
for (i = 0; i < 1000000; i++) { |
for (i = 0; i < 1000000; i++) { |
b = malloc(sizeof(struct blah)); | b = e_malloc(sizeof(struct blah)); |
memset(b, 0, sizeof(struct blah)); |
memset(b, 0, sizeof(struct blah)); |
b->n = random(); |
b->n = random(); |
if (SPLAY_INSERT(sp_head, &sph, b)) |
if (SPLAY_INSERT(sp_head, &sph, b)) |
free(b); | e_free(b); |
} |
} |
gettimeofday(&after, NULL); |
gettimeofday(&after, NULL); |
printf("SP::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |
printf("SP::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |
|
|
gettimeofday(&before, NULL); |
gettimeofday(&before, NULL); |
for (i = 0; i < 1000000; i++) { |
for (i = 0; i < 1000000; i++) { |
b = malloc(sizeof(struct blah)); | b = e_malloc(sizeof(struct blah)); |
memset(b, 0, sizeof(struct blah)); |
memset(b, 0, sizeof(struct blah)); |
b->n = random(); |
b->n = random(); |
if (AVL_INSERT(avl_head, &avlh, b)) |
if (AVL_INSERT(avl_head, &avlh, b)) |
free(b); | e_free(b); |
} |
} |
gettimeofday(&after, NULL); |
gettimeofday(&after, NULL); |
printf("AVL::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |
printf("AVL::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |
|
|
gettimeofday(&before, NULL); |
gettimeofday(&before, NULL); |
for (i = 0; i < 1000000; i++) { |
for (i = 0; i < 1000000; i++) { |
b = malloc(sizeof(struct blah)); | b = e_malloc(sizeof(struct blah)); |
memset(b, 0, sizeof(struct blah)); |
memset(b, 0, sizeof(struct blah)); |
b->n = random(); |
b->n = random(); |
SLIST_INSERT_HEAD(&slh, b, node3); |
SLIST_INSERT_HEAD(&slh, b, node3); |
Line 97 main()
|
Line 97 main()
|
printf("SLIST::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |
printf("SLIST::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |
gettimeofday(&before, NULL); |
gettimeofday(&before, NULL); |
for (i = 0; i < 1000000; i++) { |
for (i = 0; i < 1000000; i++) { |
b = malloc(sizeof(struct blah)); | b = e_malloc(sizeof(struct blah)); |
memset(b, 0, sizeof(struct blah)); |
memset(b, 0, sizeof(struct blah)); |
b->n = random(); |
b->n = random(); |
TAILQ_INSERT_HEAD(&tqh, b, node4); |
TAILQ_INSERT_HEAD(&tqh, b, node4); |
Line 107 main()
|
Line 107 main()
|
|
|
printf("---\n"); |
printf("---\n"); |
|
|
b2 = malloc(sizeof(struct blah)); | b2 = e_malloc(sizeof(struct blah)); |
gettimeofday(&before, NULL); |
gettimeofday(&before, NULL); |
for (i = 0; i < 10000; i++) { |
for (i = 0; i < 10000; i++) { |
memset(b2, 0, sizeof(struct blah)); |
memset(b2, 0, sizeof(struct blah)); |
Line 149 main()
|
Line 149 main()
|
|
|
printf("---\n"); |
printf("---\n"); |
|
|
free(b2); | e_free(b2); |
|
|
gettimeofday(&before, NULL); |
gettimeofday(&before, NULL); |
while ((b = TAILQ_FIRST(&tqh))) { |
while ((b = TAILQ_FIRST(&tqh))) { |
TAILQ_REMOVE(&tqh, b, node4); |
TAILQ_REMOVE(&tqh, b, node4); |
free(b); | e_free(b); |
} |
} |
gettimeofday(&after, NULL); |
gettimeofday(&after, NULL); |
printf("TAILQ::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |
printf("TAILQ::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |
gettimeofday(&before, NULL); |
gettimeofday(&before, NULL); |
while ((b = SLIST_FIRST(&slh))) { |
while ((b = SLIST_FIRST(&slh))) { |
SLIST_REMOVE(&slh, b, blah, node3); |
SLIST_REMOVE(&slh, b, blah, node3); |
free(b); | e_free(b); |
} |
} |
gettimeofday(&after, NULL); |
gettimeofday(&after, NULL); |
printf("SLIST::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |
printf("SLIST::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |
|
|
gettimeofday(&before, NULL); |
gettimeofday(&before, NULL); |
AVL_FOREACH_SAFE(b, avl_head, &avlh, b2) { |
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("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("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); |
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); |
AVL_REMOVE(avl_head, &avlh, b); |
free(b); | e_free(b); |
} |
} |
gettimeofday(&after, NULL); |
gettimeofday(&after, NULL); |
printf("AVL::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |
printf("AVL::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |
Line 189 main()
|
Line 187 main()
|
|
|
gettimeofday(&before, NULL); |
gettimeofday(&before, NULL); |
RB_FOREACH_SAFE(b, rb_head, &rbh, b2) { |
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); |
RB_REMOVE(rb_head, &rbh, b); |
free(b); | e_free(b); |
} |
} |
gettimeofday(&after, NULL); |
gettimeofday(&after, NULL); |
printf("RB::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |
printf("RB::Time %f\n", (after.tv_sec - before.tv_sec) + (after.tv_usec - before.tv_usec) / 1e6); |