aboutsummaryrefslogtreecommitdiff
path: root/.patch
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-02-10 03:34:07 +0100
committercrueter <crueter@eden-emu.dev>2026-02-10 03:34:07 +0100
commita8093c2a3cf98ccccabeb1d6a2c1ccc5e191557f (patch)
treed967e61fe889c2c39aa9e3b751927ffa25f1a19e /.patch
parent0f8b35c4cd0f8d09b38edc52b006472cd98540fc (diff)
[*] change all std::unordered_map and std::unordered_set into ankerl::unordered_dense::map/set variants (#3442)
mainly doing this to reduce memory footprint; we all know how nice ankerl::unordered_dense is in theory 4x faster - in practice these maps arent that "hot" anyways so not likely to have much perf gained i just want to reduce mem fragmentation to ease my porting process, plus it helps other platforms as well (ahem weak Mediatek devices) :) Signed-off-by: lizzie <lizzie@eden-emu.dev> Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3442 Reviewed-by: DraVee <dravee@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to '.patch')
-rw-r--r--.patch/unordered-dense/0001-avoid-memset-when-clearing-an-empty-table.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/.patch/unordered-dense/0001-avoid-memset-when-clearing-an-empty-table.patch b/.patch/unordered-dense/0001-avoid-memset-when-clearing-an-empty-table.patch
new file mode 100644
index 0000000000..f7d7c7ebe2
--- /dev/null
+++ b/.patch/unordered-dense/0001-avoid-memset-when-clearing-an-empty-table.patch
@@ -0,0 +1,26 @@
+From b3622608433c183ba868a1dc8dd9cf285eb3b916 Mon Sep 17 00:00:00 2001
+From: Dario Petrillo <dario.pk1@gmail.com>
+Date: Thu, 27 Nov 2025 23:12:38 +0100
+Subject: [PATCH] avoid extra memset when clearing an empty table
+
+---
+ include/ankerl/unordered_dense.h | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/include/ankerl/unordered_dense.h b/include/ankerl/unordered_dense.h
+index 0835342..4938212 100644
+--- a/include/ankerl/unordered_dense.h
++++ b/include/ankerl/unordered_dense.h
+@@ -1490,8 +1490,10 @@ class table : public std::conditional_t<is_map_v<T>, base_table_type_map<T>, bas
+ // modifiers //////////////////////////////////////////////////////////////
+
+ void clear() {
+- m_values.clear();
+- clear_buckets();
++ if (!empty()) {
++ m_values.clear();
++ clear_buckets();
++ }
+ }
+
+ auto insert(value_type const& value) -> std::pair<iterator, bool> {