MCPcopy Create free account
hub / github.com/F-Stack/f-stack / test_member_loadfactor

Function test_member_loadfactor

dpdk/app/test/test_member.c:616–693  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

614}
615
616static int
617test_member_loadfactor(void)
618{
619 unsigned int j;
620 unsigned int added_keys, average_keys_added = 0;
621 int ret;
622
623 setup_keys_and_data();
624
625 rte_member_free(setsum_ht);
626 rte_member_free(setsum_cache);
627 rte_member_free(setsum_vbf);
628
629 params.key_len = KEY_SIZE;
630 params.name = "test_member_ht";
631 params.is_cache = 0;
632 params.type = RTE_MEMBER_TYPE_HT;
633 setsum_ht = rte_member_create(&params);
634
635 params.name = "test_member_cache";
636 params.is_cache = 1;
637 setsum_cache = rte_member_create(&params);
638
639
640 if (setsum_ht == NULL || setsum_cache == NULL) {
641 printf("Creation of setsums fail\n");
642 return -1;
643 }
644 /* Test HT non-cache mode */
645 for (j = 0; j < ITERATIONS; j++) {
646 /* Add random entries until key cannot be added */
647 ret = add_generated_keys(setsum_ht, &added_keys);
648 if (ret != -ENOSPC) {
649 printf("Unexpected error when adding keys\n");
650 return -1;
651 }
652 average_keys_added += added_keys;
653
654 /* Reset the table */
655 rte_member_reset(setsum_ht);
656
657 /* Print a dot to show progress on operations */
658 printf(".");
659 fflush(stdout);
660 }
661
662 average_keys_added /= ITERATIONS;
663
664 printf("\nKeys inserted when no space(non-cache) = %.2f%% (%u/%u)\n",
665 ((double) average_keys_added / params.num_keys * 100),
666 average_keys_added, params.num_keys);
667
668 /* Test cache mode */
669 added_keys = average_keys_added = 0;
670 for (j = 0; j < ITERATIONS; j++) {
671 /* Add random entries until key cannot be added */
672 ret = add_generated_keys_cache(setsum_cache, &added_keys);
673 if (ret != 1) {

Callers 1

test_memberFunction · 0.85

Calls 7

rte_member_freeFunction · 0.85
rte_member_createFunction · 0.85
add_generated_keysFunction · 0.85
rte_member_resetFunction · 0.85
add_generated_keys_cacheFunction · 0.85
setup_keys_and_dataFunction · 0.70
printfFunction · 0.50

Tested by

no test coverage detected