From e020aa12649a8de3e28ee3f7cdcb05bb8d375cc3 Mon Sep 17 00:00:00 2001 From: joaquintides Date: Thu, 8 Jun 2023 19:04:44 +0000 Subject: [PATCH] updated README.md --- README.md | 378 +++++++++++++++++++++++++++--------------------------- 1 file changed, 189 insertions(+), 189 deletions(-) diff --git a/README.md b/README.md index 6a4dc626..d6f72314 100644 --- a/README.md +++ b/README.md @@ -17,211 +17,211 @@ TBW ## Summary results ### GCC 12, x64 - -``` -main.cpp -Number of threads: 16 - boost::unordered_flat_map, single threaded: 7780 ms - boost::unordered_flat_map, single threaded, shared_mutex: 12203 ms - boost::unordered_flat_map, single threaded, rw_spinlock: 9265 ms - cfoa, single threaded: 12136 ms - cfoa, tbb::spin_rw_mutex, single threaded: 12402 ms - cfoa, std::shared_mutex, single threaded: 14169 ms - foa::concurrent_table, single threaded: 12062 ms - boost::concurrent_flat_map, single threaded: 12070 ms - tbb::concurrent_hash_map, single threaded: 21914 ms - boost::unordered_flat_map, sharded_prehashed: 6360 ms -boost::unordered_flat_map, sharded_prehashed: 17375 ms - boost::unordered_flat_map, sharded_prehashed: 6909 ms - boost::unordered_flat_map, sharded isolated, prehashed: 5943 ms - cfoa: 5687 ms - cfoa, tbb::spin_rw_mutex: 6092 ms - cfoa, std::shared_mutex: 5216 ms - foa::concurrent_table: 5351 ms - boost::concurrent_flat_map: 5561 ms - tbb::concurrent_hash_map: 7448 ms - gtl::parallel_flat_hash_map: 8573 ms - gtl::parallel_flat_hash_map: 19183 ms - gtl::parallel_flat_hash_map: 9937 ms -``` + +``` +main.cpp +Number of threads: 16 + boost::unordered_flat_map, single threaded: 8026 ms + boost::unordered_flat_map, single threaded, shared_mutex: 12487 ms + boost::unordered_flat_map, single threaded, rw_spinlock: 9544 ms + cfoa, single threaded: 12643 ms + cfoa, tbb::spin_rw_mutex, single threaded: 12649 ms + cfoa, std::shared_mutex, single threaded: 14510 ms + foa::concurrent_table, single threaded: 12416 ms + boost::concurrent_flat_map, single threaded: 12445 ms + tbb::concurrent_hash_map, single threaded: 22574 ms + boost::unordered_flat_map, sharded_prehashed: 6281 ms +boost::unordered_flat_map, sharded_prehashed: 94346 ms + boost::unordered_flat_map, sharded_prehashed: 5187 ms + boost::unordered_flat_map, sharded isolated, prehashed: 6506 ms + cfoa: 5453 ms + cfoa, tbb::spin_rw_mutex: 5686 ms + cfoa, std::shared_mutex: 5697 ms + foa::concurrent_table: 5106 ms + boost::concurrent_flat_map: 4721 ms + tbb::concurrent_hash_map: 7500 ms + gtl::parallel_flat_hash_map: 7998 ms + gtl::parallel_flat_hash_map: 139505 ms + gtl::parallel_flat_hash_map: 8594 ms +``` ### Clang 15, x64 - -``` -main.cpp -Number of threads: 16 - boost::unordered_flat_map, single threaded: 9160 ms - boost::unordered_flat_map, single threaded, shared_mutex: 12777 ms - boost::unordered_flat_map, single threaded, rw_spinlock: 10186 ms - cfoa, single threaded: 12372 ms - cfoa, tbb::spin_rw_mutex, single threaded: 12369 ms - cfoa, std::shared_mutex, single threaded: 14497 ms - foa::concurrent_table, single threaded: 12393 ms - boost::concurrent_flat_map, single threaded: 12450 ms - tbb::concurrent_hash_map, single threaded: 22902 ms - boost::unordered_flat_map, sharded_prehashed: 6286 ms -boost::unordered_flat_map, sharded_prehashed: 17221 ms - boost::unordered_flat_map, sharded_prehashed: 6802 ms - boost::unordered_flat_map, sharded isolated, prehashed: 6769 ms - cfoa: 6397 ms - cfoa, tbb::spin_rw_mutex: 6453 ms - cfoa, std::shared_mutex: 5938 ms - foa::concurrent_table: 5231 ms - boost::concurrent_flat_map: 5536 ms - tbb::concurrent_hash_map: 7498 ms - gtl::parallel_flat_hash_map: 8028 ms - gtl::parallel_flat_hash_map: 20016 ms - gtl::parallel_flat_hash_map: 12028 ms -``` + +``` +main.cpp +Number of threads: 16 + boost::unordered_flat_map, single threaded: 9714 ms + boost::unordered_flat_map, single threaded, shared_mutex: 13120 ms + boost::unordered_flat_map, single threaded, rw_spinlock: 10896 ms + cfoa, single threaded: 13241 ms + cfoa, tbb::spin_rw_mutex, single threaded: 12968 ms + cfoa, std::shared_mutex, single threaded: 14884 ms + foa::concurrent_table, single threaded: 13050 ms + boost::concurrent_flat_map, single threaded: 13108 ms + tbb::concurrent_hash_map, single threaded: 24363 ms + boost::unordered_flat_map, sharded_prehashed: 6246 ms +boost::unordered_flat_map, sharded_prehashed: 84587 ms + boost::unordered_flat_map, sharded_prehashed: 5376 ms + boost::unordered_flat_map, sharded isolated, prehashed: 7120 ms + cfoa: 5557 ms + cfoa, tbb::spin_rw_mutex: 5644 ms + cfoa, std::shared_mutex: 5854 ms + foa::concurrent_table: 4981 ms + boost::concurrent_flat_map: 5016 ms + tbb::concurrent_hash_map: 8127 ms + gtl::parallel_flat_hash_map: 9539 ms + gtl::parallel_flat_hash_map: 192396 ms + gtl::parallel_flat_hash_map: 9925 ms +``` ### Visual Studio 2022, x64 - -``` -main.cpp -Number of threads: 4 - boost::unordered_flat_map, single threaded: 23123 ms - boost::unordered_flat_map, single threaded, shared_mutex: 26752 ms - boost::unordered_flat_map, single threaded, rw_spinlock: 25780 ms - cfoa, single threaded: 26721 ms - cfoa, tbb::spin_rw_mutex, single threaded: 26858 ms - cfoa, std::shared_mutex, single threaded: 26777 ms - foa::concurrent_table, single threaded: 26308 ms - boost::concurrent_flat_map, single threaded: 26516 ms - tbb::concurrent_hash_map, single threaded: 44207 ms - boost::unordered_flat_map, sharded_prehashed: 11096 ms -boost::unordered_flat_map, sharded_prehashed: 8374 ms - boost::unordered_flat_map, sharded_prehashed: 9676 ms - boost::unordered_flat_map, sharded isolated, prehashed: 10235 ms - cfoa: 9374 ms - cfoa, tbb::spin_rw_mutex: 9703 ms - cfoa, std::shared_mutex: 10119 ms - foa::concurrent_table: 9106 ms - boost::concurrent_flat_map: 9903 ms - tbb::concurrent_hash_map: 15347 ms - gtl::parallel_flat_hash_map: 12610 ms - gtl::parallel_flat_hash_map: 10502 ms - gtl::parallel_flat_hash_map: 12083 ms -``` + +``` +main.cpp +Number of threads: 4 + boost::unordered_flat_map, single threaded: 11099 ms + boost::unordered_flat_map, single threaded, shared_mutex: 12375 ms + boost::unordered_flat_map, single threaded, rw_spinlock: 11624 ms + cfoa, single threaded: 11033 ms + cfoa, tbb::spin_rw_mutex, single threaded: 11241 ms + cfoa, std::shared_mutex, single threaded: 11622 ms + foa::concurrent_table, single threaded: 10930 ms + boost::concurrent_flat_map, single threaded: 10938 ms + tbb::concurrent_hash_map, single threaded: 22957 ms + boost::unordered_flat_map, sharded_prehashed: 5847 ms +boost::unordered_flat_map, sharded_prehashed: 4969 ms + boost::unordered_flat_map, sharded_prehashed: 4600 ms + boost::unordered_flat_map, sharded isolated, prehashed: 5781 ms + cfoa: 4646 ms + cfoa, tbb::spin_rw_mutex: 4601 ms + cfoa, std::shared_mutex: 4846 ms + foa::concurrent_table: 4319 ms + boost::concurrent_flat_map: 4374 ms + tbb::concurrent_hash_map: 8556 ms + gtl::parallel_flat_hash_map: 8200 ms + gtl::parallel_flat_hash_map: 6745 ms + gtl::parallel_flat_hash_map: 7001 ms +``` ### Clang 12, ARM64 - -``` -main.cpp -Number of threads: 8 - boost::unordered_flat_map, single threaded: 5712 ms - boost::unordered_flat_map, single threaded, shared_mutex: 10185 ms - boost::unordered_flat_map, single threaded, rw_spinlock: 6066 ms - cfoa, single threaded: 7536 ms - cfoa, tbb::spin_rw_mutex, single threaded: 7639 ms - cfoa, std::shared_mutex, single threaded: 11854 ms - foa::concurrent_table, single threaded: 7468 ms - boost::concurrent_flat_map, single threaded: 7620 ms - tbb::concurrent_hash_map, single threaded: 17365 ms - boost::unordered_flat_map, sharded_prehashed: 5386 ms -boost::unordered_flat_map, sharded_prehashed: 11341 ms - boost::unordered_flat_map, sharded_prehashed: 3468 ms - boost::unordered_flat_map, sharded isolated, prehashed: 4503 ms - cfoa: 3915 ms - cfoa, tbb::spin_rw_mutex: 4076 ms - cfoa, std::shared_mutex: 4740 ms - foa::concurrent_table: 3904 ms - boost::concurrent_flat_map: 3983 ms - tbb::concurrent_hash_map: 5389 ms - gtl::parallel_flat_hash_map: 6328 ms - gtl::parallel_flat_hash_map: 11267 ms - gtl::parallel_flat_hash_map: 3756 ms -``` + +``` +main.cpp +Number of threads: 8 + boost::unordered_flat_map, single threaded: 6034 ms + boost::unordered_flat_map, single threaded, shared_mutex: 10161 ms + boost::unordered_flat_map, single threaded, rw_spinlock: 6098 ms + cfoa, single threaded: 7931 ms + cfoa, tbb::spin_rw_mutex, single threaded: 7599 ms + cfoa, std::shared_mutex, single threaded: 11840 ms + foa::concurrent_table, single threaded: 7727 ms + boost::concurrent_flat_map, single threaded: 7677 ms + tbb::concurrent_hash_map, single threaded: 17290 ms + boost::unordered_flat_map, sharded_prehashed: 5458 ms +boost::unordered_flat_map, sharded_prehashed: 11073 ms + boost::unordered_flat_map, sharded_prehashed: 3479 ms + boost::unordered_flat_map, sharded isolated, prehashed: 4463 ms + cfoa: 4122 ms + cfoa, tbb::spin_rw_mutex: 4005 ms + cfoa, std::shared_mutex: 4848 ms + foa::concurrent_table: 3888 ms + boost::concurrent_flat_map: 3887 ms + tbb::concurrent_hash_map: 5383 ms + gtl::parallel_flat_hash_map: 6202 ms + gtl::parallel_flat_hash_map: 11217 ms + gtl::parallel_flat_hash_map: 3706 ms +``` ### GCC 12, x86 - -``` -main.cpp -Number of threads: 16 - boost::unordered_flat_map, single threaded: 1063 ms - boost::unordered_flat_map, single threaded, shared_mutex: 1516 ms - boost::unordered_flat_map, single threaded, rw_spinlock: 1160 ms - cfoa, single threaded: 1530 ms - cfoa, tbb::spin_rw_mutex, single threaded: 1545 ms - cfoa, std::shared_mutex, single threaded: 1850 ms - foa::concurrent_table, single threaded: 1489 ms - boost::concurrent_flat_map, single threaded: 1489 ms - tbb::concurrent_hash_map, single threaded: 2259 ms - boost::unordered_flat_map, sharded_prehashed: 764 ms -boost::unordered_flat_map, sharded_prehashed: 1164 ms - boost::unordered_flat_map, sharded_prehashed: 578 ms - boost::unordered_flat_map, sharded isolated, prehashed: 761 ms - cfoa: 768 ms - cfoa, tbb::spin_rw_mutex: 815 ms - cfoa, std::shared_mutex: 736 ms - foa::concurrent_table: 769 ms - boost::concurrent_flat_map: 843 ms - tbb::concurrent_hash_map: 881 ms - gtl::parallel_flat_hash_map: 1084 ms - gtl::parallel_flat_hash_map: 2714 ms - gtl::parallel_flat_hash_map: 898 ms -``` + +``` +main.cpp +Number of threads: 16 + boost::unordered_flat_map, single threaded: 1059 ms + boost::unordered_flat_map, single threaded, shared_mutex: 1484 ms + boost::unordered_flat_map, single threaded, rw_spinlock: 1135 ms + cfoa, single threaded: 1533 ms + cfoa, tbb::spin_rw_mutex, single threaded: 1563 ms + cfoa, std::shared_mutex, single threaded: 1817 ms + foa::concurrent_table, single threaded: 1497 ms + boost::concurrent_flat_map, single threaded: 1480 ms + tbb::concurrent_hash_map, single threaded: 2215 ms + boost::unordered_flat_map, sharded_prehashed: 746 ms +boost::unordered_flat_map, sharded_prehashed: 3125 ms + boost::unordered_flat_map, sharded_prehashed: 717 ms + boost::unordered_flat_map, sharded isolated, prehashed: 908 ms + cfoa: 878 ms + cfoa, tbb::spin_rw_mutex: 860 ms + cfoa, std::shared_mutex: 732 ms + foa::concurrent_table: 757 ms + boost::concurrent_flat_map: 706 ms + tbb::concurrent_hash_map: 915 ms + gtl::parallel_flat_hash_map: 1054 ms + gtl::parallel_flat_hash_map: 15961 ms + gtl::parallel_flat_hash_map: 973 ms +``` ### Clang 12, x86 - -``` -main.cpp -Number of threads: 16 - boost::unordered_flat_map, single threaded: 1137 ms - boost::unordered_flat_map, single threaded, shared_mutex: 1605 ms - boost::unordered_flat_map, single threaded, rw_spinlock: 1236 ms - cfoa, single threaded: 1459 ms - cfoa, tbb::spin_rw_mutex, single threaded: 1449 ms - cfoa, std::shared_mutex, single threaded: 1828 ms - foa::concurrent_table, single threaded: 1473 ms - boost::concurrent_flat_map, single threaded: 1471 ms - tbb::concurrent_hash_map, single threaded: 2380 ms - boost::unordered_flat_map, sharded_prehashed: 756 ms -boost::unordered_flat_map, sharded_prehashed: 1662 ms - boost::unordered_flat_map, sharded_prehashed: 576 ms - boost::unordered_flat_map, sharded isolated, prehashed: 749 ms - cfoa: 815 ms - cfoa, tbb::spin_rw_mutex: 869 ms - cfoa, std::shared_mutex: 737 ms - foa::concurrent_table: 877 ms - boost::concurrent_flat_map: 918 ms - tbb::concurrent_hash_map: 866 ms - gtl::parallel_flat_hash_map: 1025 ms - gtl::parallel_flat_hash_map: 2341 ms - gtl::parallel_flat_hash_map: 883 ms -``` + +``` +main.cpp +Number of threads: 16 + boost::unordered_flat_map, single threaded: 1122 ms + boost::unordered_flat_map, single threaded, shared_mutex: 1517 ms + boost::unordered_flat_map, single threaded, rw_spinlock: 1262 ms + cfoa, single threaded: 1507 ms + cfoa, tbb::spin_rw_mutex, single threaded: 1478 ms + cfoa, std::shared_mutex, single threaded: 1766 ms + foa::concurrent_table, single threaded: 1500 ms + boost::concurrent_flat_map, single threaded: 1500 ms + tbb::concurrent_hash_map, single threaded: 2475 ms + boost::unordered_flat_map, sharded_prehashed: 736 ms +boost::unordered_flat_map, sharded_prehashed: 6961 ms + boost::unordered_flat_map, sharded_prehashed: 753 ms + boost::unordered_flat_map, sharded isolated, prehashed: 932 ms + cfoa: 892 ms + cfoa, tbb::spin_rw_mutex: 914 ms + cfoa, std::shared_mutex: 763 ms + foa::concurrent_table: 731 ms + boost::concurrent_flat_map: 742 ms + tbb::concurrent_hash_map: 912 ms + gtl::parallel_flat_hash_map: 1034 ms + gtl::parallel_flat_hash_map: 21847 ms + gtl::parallel_flat_hash_map: 1092 ms +``` ### Visual Studio 2022, x86 - -``` -main.cpp -Number of threads: 4 - boost::unordered_flat_map, single threaded: 1408 ms - boost::unordered_flat_map, single threaded, shared_mutex: 1786 ms - boost::unordered_flat_map, single threaded, rw_spinlock: 1589 ms - cfoa, single threaded: 2150 ms - cfoa, tbb::spin_rw_mutex, single threaded: 2229 ms - cfoa, std::shared_mutex, single threaded: 2340 ms - foa::concurrent_table, single threaded: 2110 ms - boost::concurrent_flat_map, single threaded: 2070 ms - tbb::concurrent_hash_map, single threaded: 3965 ms - boost::unordered_flat_map, sharded_prehashed: 1027 ms -boost::unordered_flat_map, sharded_prehashed: 791 ms - boost::unordered_flat_map, sharded_prehashed: 704 ms - boost::unordered_flat_map, sharded isolated, prehashed: 986 ms - cfoa: 907 ms - cfoa, tbb::spin_rw_mutex: 834 ms - cfoa, std::shared_mutex: 954 ms - foa::concurrent_table: 835 ms - boost::concurrent_flat_map: 928 ms - tbb::concurrent_hash_map: 1506 ms - gtl::parallel_flat_hash_map: 1157 ms - gtl::parallel_flat_hash_map: 894 ms - gtl::parallel_flat_hash_map: 979 ms -``` + +``` +main.cpp +Number of threads: 4 + boost::unordered_flat_map, single threaded: 710 ms + boost::unordered_flat_map, single threaded, shared_mutex: 964 ms + boost::unordered_flat_map, single threaded, rw_spinlock: 830 ms + cfoa, single threaded: 940 ms + cfoa, tbb::spin_rw_mutex, single threaded: 959 ms + cfoa, std::shared_mutex, single threaded: 1121 ms + foa::concurrent_table, single threaded: 1037 ms + boost::concurrent_flat_map, single threaded: 1039 ms + tbb::concurrent_hash_map, single threaded: 2258 ms + boost::unordered_flat_map, sharded_prehashed: 589 ms +boost::unordered_flat_map, sharded_prehashed: 509 ms + boost::unordered_flat_map, sharded_prehashed: 429 ms + boost::unordered_flat_map, sharded isolated, prehashed: 532 ms + cfoa: 519 ms + cfoa, tbb::spin_rw_mutex: 497 ms + cfoa, std::shared_mutex: 564 ms + foa::concurrent_table: 493 ms + boost::concurrent_flat_map: 497 ms + tbb::concurrent_hash_map: 966 ms + gtl::parallel_flat_hash_map: 873 ms + gtl::parallel_flat_hash_map: 789 ms + gtl::parallel_flat_hash_map: 629 ms +```