From 805c0b1362349ea75025426ec179af014e7d4df1 Mon Sep 17 00:00:00 2001 From: joaquintides Date: Sat, 21 Jan 2023 10:09:25 +0000 Subject: [PATCH] updated README.md --- README.md | 222 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 133 insertions(+), 89 deletions(-) diff --git a/README.md b/README.md index 95c1e85a..41bf2f6f 100644 --- a/README.md +++ b/README.md @@ -21,24 +21,24 @@ TBW ``` main.cpp Number of threads: 16 - boost::unordered_flat_map, single threaded: 8614 ms - boost::unordered_flat_map, single threaded, shared_mutex: 12495 ms - boost::unordered_flat_map, single threaded, rw_spinlock: 9428 ms - concurrent_foa, single threaded: 13076 ms - concurrent_foa, tbb::spin_rw_mutex, single threaded: 13117 ms - concurrent_foa, std::shared_mutex, single threaded: 16436 ms - tbb::concurrent_hash_map, single threaded: 22712 ms - boost::unordered_flat_map, sharded_prehashed: 6695 ms -boost::unordered_flat_map, sharded_prehashed: 13536 ms - boost::unordered_flat_map, sharded_prehashed: 7520 ms - boost::unordered_flat_map, sharded isolated, prehashed: 7778 ms - concurrent foa: 4638 ms - concurrent foa, tbb::spin_rw_mutex: 4904 ms - concurrent foa, std::shared_mutex: 5011 ms - tbb::concurrent_hash_map: 7464 ms - gtl::parallel_flat_hash_map: 6696 ms - gtl::parallel_flat_hash_map: 35428 ms - gtl::parallel_flat_hash_map: 9691 ms + boost::unordered_flat_map, single threaded: 8591 ms + boost::unordered_flat_map, single threaded, shared_mutex: 12519 ms + boost::unordered_flat_map, single threaded, rw_spinlock: 9410 ms + concurrent_foa, single threaded: 13038 ms + concurrent_foa, tbb::spin_rw_mutex, single threaded: 13110 ms + concurrent_foa, std::shared_mutex, single threaded: 16432 ms + tbb::concurrent_hash_map, single threaded: 22829 ms + boost::unordered_flat_map, sharded_prehashed: 6686 ms +boost::unordered_flat_map, sharded_prehashed: 10690 ms + boost::unordered_flat_map, sharded_prehashed: 6958 ms + boost::unordered_flat_map, sharded isolated, prehashed: 7728 ms + concurrent foa: 4735 ms + concurrent foa, tbb::spin_rw_mutex: 4944 ms + concurrent foa, std::shared_mutex: 4957 ms + tbb::concurrent_hash_map: 7370 ms + gtl::parallel_flat_hash_map: 6793 ms + gtl::parallel_flat_hash_map: 25961 ms + gtl::parallel_flat_hash_map: 9960 ms ``` @@ -47,29 +47,51 @@ boost::unordered_flat_map, sharded_prehashed: 13536 ms ``` main.cpp Number of threads: 16 - boost::unordered_flat_map, single threaded: 9198 ms - boost::unordered_flat_map, single threaded, shared_mutex: 12989 ms - boost::unordered_flat_map, single threaded, rw_spinlock: 10287 ms - concurrent_foa, single threaded: 12574 ms - concurrent_foa, tbb::spin_rw_mutex, single threaded: 12533 ms - concurrent_foa, std::shared_mutex, single threaded: 14659 ms - tbb::concurrent_hash_map, single threaded: 23231 ms - boost::unordered_flat_map, sharded_prehashed: 6662 ms -boost::unordered_flat_map, sharded_prehashed: 11109 ms - boost::unordered_flat_map, sharded_prehashed: 7316 ms - boost::unordered_flat_map, sharded isolated, prehashed: 7575 ms - concurrent foa: 4888 ms - concurrent foa, tbb::spin_rw_mutex: 4604 ms - concurrent foa, std::shared_mutex: 5049 ms - tbb::concurrent_hash_map: 7716 ms - gtl::parallel_flat_hash_map: 8266 ms - gtl::parallel_flat_hash_map: 24839 ms - gtl::parallel_flat_hash_map: 12725 ms + boost::unordered_flat_map, single threaded: 9271 ms + boost::unordered_flat_map, single threaded, shared_mutex: 13062 ms + boost::unordered_flat_map, single threaded, rw_spinlock: 10325 ms + concurrent_foa, single threaded: 12613 ms + concurrent_foa, tbb::spin_rw_mutex, single threaded: 12597 ms + concurrent_foa, std::shared_mutex, single threaded: 14718 ms + tbb::concurrent_hash_map, single threaded: 23281 ms + boost::unordered_flat_map, sharded_prehashed: 6670 ms +boost::unordered_flat_map, sharded_prehashed: 14500 ms + boost::unordered_flat_map, sharded_prehashed: 7233 ms + boost::unordered_flat_map, sharded isolated, prehashed: 7258 ms + concurrent foa: 4926 ms + concurrent foa, tbb::spin_rw_mutex: 4562 ms + concurrent foa, std::shared_mutex: 5083 ms + tbb::concurrent_hash_map: 7573 ms + gtl::parallel_flat_hash_map: 8209 ms + gtl::parallel_flat_hash_map: 20703 ms + gtl::parallel_flat_hash_map: 12051 ms ``` ### Visual Studio 2019, x64 - + +``` +main.cpp +Number of threads: 16 + boost::unordered_flat_map, single threaded: 22053 ms + boost::unordered_flat_map, single threaded, shared_mutex: 26086 ms + boost::unordered_flat_map, single threaded, rw_spinlock: 26751 ms + concurrent_foa, single threaded: 26539 ms + concurrent_foa, tbb::spin_rw_mutex, single threaded: 27378 ms + concurrent_foa, std::shared_mutex, single threaded: 26891 ms + tbb::concurrent_hash_map, single threaded: 45150 ms + boost::unordered_flat_map, sharded_prehashed: 9815 ms +boost::unordered_flat_map, sharded_prehashed: 8285 ms + boost::unordered_flat_map, sharded_prehashed: 8145 ms + boost::unordered_flat_map, sharded isolated, prehashed: 23755 ms + concurrent foa: 9336 ms + concurrent foa, tbb::spin_rw_mutex: 8963 ms + concurrent foa, std::shared_mutex: 9505 ms + tbb::concurrent_hash_map: 14193 ms + gtl::parallel_flat_hash_map: 11727 ms + gtl::parallel_flat_hash_map: 10029 ms + gtl::parallel_flat_hash_map: 10932 ms +``` ### Clang 12, ARM64 @@ -77,24 +99,24 @@ boost::unordered_flat_map, sharded_prehashed: 11109 ms ``` main.cpp Number of threads: 8 - boost::unordered_flat_map, single threaded: 5675 ms - boost::unordered_flat_map, single threaded, shared_mutex: 10249 ms - boost::unordered_flat_map, single threaded, rw_spinlock: 6047 ms + boost::unordered_flat_map, single threaded: 5765 ms + boost::unordered_flat_map, single threaded, shared_mutex: 10206 ms + boost::unordered_flat_map, single threaded, rw_spinlock: 6030 ms concurrent_foa, single threaded: 7302 ms concurrent_foa, tbb::spin_rw_mutex, single threaded: 7412 ms - concurrent_foa, std::shared_mutex, single threaded: 11663 ms - tbb::concurrent_hash_map, single threaded: 17471 ms - boost::unordered_flat_map, sharded_prehashed: 5493 ms -boost::unordered_flat_map, sharded_prehashed: 11429 ms - boost::unordered_flat_map, sharded_prehashed: 3445 ms - boost::unordered_flat_map, sharded isolated, prehashed: 4789 ms - concurrent foa: 3814 ms - concurrent foa, tbb::spin_rw_mutex: 3639 ms - concurrent foa, std::shared_mutex: 4633 ms - tbb::concurrent_hash_map: 5347 ms - gtl::parallel_flat_hash_map: 6156 ms - gtl::parallel_flat_hash_map: 11457 ms - gtl::parallel_flat_hash_map: 3696 ms + concurrent_foa, std::shared_mutex, single threaded: 11647 ms + tbb::concurrent_hash_map, single threaded: 17517 ms + boost::unordered_flat_map, sharded_prehashed: 5476 ms +boost::unordered_flat_map, sharded_prehashed: 11517 ms + boost::unordered_flat_map, sharded_prehashed: 3469 ms + boost::unordered_flat_map, sharded isolated, prehashed: 4781 ms + concurrent foa: 3730 ms + concurrent foa, tbb::spin_rw_mutex: 3651 ms + concurrent foa, std::shared_mutex: 4590 ms + tbb::concurrent_hash_map: 5453 ms + gtl::parallel_flat_hash_map: 6529 ms + gtl::parallel_flat_hash_map: 11357 ms + gtl::parallel_flat_hash_map: 3697 ms ``` @@ -103,24 +125,24 @@ boost::unordered_flat_map, sharded_prehashed: 11429 ms ``` main.cpp Number of threads: 16 - boost::unordered_flat_map, single threaded: 959 ms - boost::unordered_flat_map, single threaded, shared_mutex: 1439 ms - boost::unordered_flat_map, single threaded, rw_spinlock: 1152 ms + boost::unordered_flat_map, single threaded: 958 ms + boost::unordered_flat_map, single threaded, shared_mutex: 1438 ms + boost::unordered_flat_map, single threaded, rw_spinlock: 1150 ms concurrent_foa, single threaded: 1477 ms - concurrent_foa, tbb::spin_rw_mutex, single threaded: 1478 ms - concurrent_foa, std::shared_mutex, single threaded: 1759 ms - tbb::concurrent_hash_map, single threaded: 2277 ms - boost::unordered_flat_map, sharded_prehashed: 851 ms -boost::unordered_flat_map, sharded_prehashed: 1447 ms - boost::unordered_flat_map, sharded_prehashed: 692 ms - boost::unordered_flat_map, sharded isolated, prehashed: 806 ms - concurrent foa: 655 ms - concurrent foa, tbb::spin_rw_mutex: 643 ms - concurrent foa, std::shared_mutex: 744 ms - tbb::concurrent_hash_map: 837 ms - gtl::parallel_flat_hash_map: 1151 ms - gtl::parallel_flat_hash_map: 1274 ms - gtl::parallel_flat_hash_map: 835 ms + concurrent_foa, tbb::spin_rw_mutex, single threaded: 1477 ms + concurrent_foa, std::shared_mutex, single threaded: 1760 ms + tbb::concurrent_hash_map, single threaded: 2280 ms + boost::unordered_flat_map, sharded_prehashed: 856 ms +boost::unordered_flat_map, sharded_prehashed: 1095 ms + boost::unordered_flat_map, sharded_prehashed: 613 ms + boost::unordered_flat_map, sharded isolated, prehashed: 773 ms + concurrent foa: 652 ms + concurrent foa, tbb::spin_rw_mutex: 645 ms + concurrent foa, std::shared_mutex: 703 ms + tbb::concurrent_hash_map: 848 ms + gtl::parallel_flat_hash_map: 1135 ms + gtl::parallel_flat_hash_map: 2174 ms + gtl::parallel_flat_hash_map: 721 ms ``` @@ -129,27 +151,49 @@ boost::unordered_flat_map, sharded_prehashed: 1447 ms ``` main.cpp Number of threads: 16 - boost::unordered_flat_map, single threaded: 1084 ms - boost::unordered_flat_map, single threaded, shared_mutex: 1485 ms - boost::unordered_flat_map, single threaded, rw_spinlock: 1193 ms - concurrent_foa, single threaded: 1366 ms - concurrent_foa, tbb::spin_rw_mutex, single threaded: 1382 ms - concurrent_foa, std::shared_mutex, single threaded: 1661 ms - tbb::concurrent_hash_map, single threaded: 2372 ms - boost::unordered_flat_map, sharded_prehashed: 758 ms -boost::unordered_flat_map, sharded_prehashed: 1996 ms - boost::unordered_flat_map, sharded_prehashed: 581 ms - boost::unordered_flat_map, sharded isolated, prehashed: 837 ms - concurrent foa: 636 ms - concurrent foa, tbb::spin_rw_mutex: 606 ms - concurrent foa, std::shared_mutex: 723 ms - tbb::concurrent_hash_map: 850 ms - gtl::parallel_flat_hash_map: 1017 ms - gtl::parallel_flat_hash_map: 2425 ms - gtl::parallel_flat_hash_map: 969 ms + boost::unordered_flat_map, single threaded: 1085 ms + boost::unordered_flat_map, single threaded, shared_mutex: 1487 ms + boost::unordered_flat_map, single threaded, rw_spinlock: 1146 ms + concurrent_foa, single threaded: 1365 ms + concurrent_foa, tbb::spin_rw_mutex, single threaded: 1381 ms + concurrent_foa, std::shared_mutex, single threaded: 1659 ms + tbb::concurrent_hash_map, single threaded: 2367 ms + boost::unordered_flat_map, sharded_prehashed: 765 ms +boost::unordered_flat_map, sharded_prehashed: 2452 ms + boost::unordered_flat_map, sharded_prehashed: 591 ms + boost::unordered_flat_map, sharded isolated, prehashed: 843 ms + concurrent foa: 631 ms + concurrent foa, tbb::spin_rw_mutex: 608 ms + concurrent foa, std::shared_mutex: 700 ms + tbb::concurrent_hash_map: 845 ms + gtl::parallel_flat_hash_map: 1024 ms + gtl::parallel_flat_hash_map: 2243 ms + gtl::parallel_flat_hash_map: 994 ms ``` ### Visual Studio 2019, x86 - + +``` +main.cpp +Number of threads: 16 + boost::unordered_flat_map, single threaded: 1427 ms + boost::unordered_flat_map, single threaded, shared_mutex: 1961 ms + boost::unordered_flat_map, single threaded, rw_spinlock: 1633 ms + concurrent_foa, single threaded: 2173 ms + concurrent_foa, tbb::spin_rw_mutex, single threaded: 2087 ms + concurrent_foa, std::shared_mutex, single threaded: 2569 ms + tbb::concurrent_hash_map, single threaded: 4605 ms + boost::unordered_flat_map, sharded_prehashed: 1057 ms +boost::unordered_flat_map, sharded_prehashed: 804 ms + boost::unordered_flat_map, sharded_prehashed: 738 ms + boost::unordered_flat_map, sharded isolated, prehashed: 2943 ms + concurrent foa: 795 ms + concurrent foa, tbb::spin_rw_mutex: 845 ms + concurrent foa, std::shared_mutex: 966 ms + tbb::concurrent_hash_map: 1712 ms + gtl::parallel_flat_hash_map: 1296 ms + gtl::parallel_flat_hash_map: 910 ms + gtl::parallel_flat_hash_map: 918 ms +```