mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 10:00:16 +02:00
[externals] use ankerl::unordered_dense over tsl
ankerl::unordered_dense is faster on average and has less memory usage than tsl::robin_map. It is pretty significantly faster than std but we'll keep that as is for now. Obviously, this will need a lot of testing. Signed-off-by: crueter <crueter@eden-emu.dev>
This commit is contained in:
6 files changed
+10
-11
No files matched your search
+3
-4
@@ -32,10 +32,6 @@
|
||||
[submodule "External/Catch2"]
|
||||
path = External/Catch2
|
||||
url = https://github.com/catchorg/Catch2.git
|
||||
[submodule "External/robin-map"]
|
||||
shallow = true
|
||||
path = External/robin-map
|
||||
url = https://github.com/FEX-Emu/robin-map.git
|
||||
[submodule "External/Vulkan-Headers"]
|
||||
shallow = true
|
||||
path = External/Vulkan-Headers
|
||||
@@ -53,3 +49,6 @@
|
||||
shallow = true
|
||||
path = External/zydis
|
||||
url = https://github.com/zyantific/zydis.git
|
||||
[submodule "External/unordered_dense"]
|
||||
path = External/unordered_dense
|
||||
url = https://github.com/martinus/unordered_dense.git
|
||||
+1
-1
@@ -337,7 +337,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/Data/CMake/)
|
||||
include(LinkerGC)
|
||||
|
||||
## Externals ##
|
||||
include_directories(External/robin-map/include/)
|
||||
include_directories(External/unordered_dense/include/)
|
||||
|
||||
include(CTest)
|
||||
if (BUILD_TESTING OR ENABLE_VIXL_DISASSEMBLER OR ENABLE_VIXL_SIMULATOR)
|
||||
|
||||
Vendored
-1
Submodule External/robin-map deleted from d5683d9f18.
+1
Submodule External/unordered_dense added at 3234af2c03.
@@ -2,9 +2,9 @@
|
||||
#pragma once
|
||||
#include <FEXCore/fextl/allocator.h>
|
||||
|
||||
#include <tsl/robin_map.h>
|
||||
#include <ankerl/unordered_dense.h>
|
||||
|
||||
namespace fextl {
|
||||
template<class Key, class T, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class Allocator = fextl::FEXAlloc<std::pair<const Key, T>>>
|
||||
using robin_map = tsl::robin_map<Key, T, Hash, KeyEqual, Allocator>;
|
||||
template<class Key, class T, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class Allocator = fextl::FEXAlloc<std::pair<Key, T>>>
|
||||
using robin_map = ankerl::unordered_dense::map<Key, T, Hash, KeyEqual, Allocator>;
|
||||
}
|
||||
@@ -2,9 +2,9 @@
|
||||
#pragma once
|
||||
#include <FEXCore/fextl/allocator.h>
|
||||
|
||||
#include <tsl/robin_set.h>
|
||||
#include <ankerl/unordered_dense.h>
|
||||
|
||||
namespace fextl {
|
||||
template<class Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class Allocator = fextl::FEXAlloc<Key>>
|
||||
using robin_set = tsl::robin_set<Key, Hash, KeyEqual, Allocator>;
|
||||
using robin_set = ankerl::unordered_dense::set<Key, Hash, KeyEqual, Allocator>;
|
||||
}
|
||||
Reference in new issue
Block a user