summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/plib/pconfig.h
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2020-06-28 13:13:57 +0200
committer couriersud <couriersud@gmx.org>2020-06-28 13:14:42 +0200
commit3fcdfa0a9b1783f556abe36c9fb927c25c2170ee (patch)
tree321f4d3c3e080448f020ee3d037abe6b453a511e /src/lib/netlist/plib/pconfig.h
parent3832644d4ad36d5b5807b3d2d9ff6d284bd86236 (diff)
netlist: code maintenance
* decrease use of reinterpret_cast. * change some defaults for better ttl game optimization. * various code cleanup.
Diffstat (limited to 'src/lib/netlist/plib/pconfig.h')
-rw-r--r--src/lib/netlist/plib/pconfig.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/lib/netlist/plib/pconfig.h b/src/lib/netlist/plib/pconfig.h
index 984ed944acb..99643139de7 100644
--- a/src/lib/netlist/plib/pconfig.h
+++ b/src/lib/netlist/plib/pconfig.h
@@ -41,7 +41,7 @@
/// Set this to one if you want to use aligned storage optimizations.
///
#ifndef PUSE_ALIGNED_OPTIMIZATIONS
-#define PUSE_ALIGNED_OPTIMIZATIONS (0)
+#define PUSE_ALIGNED_OPTIMIZATIONS (1)
#endif
/// \brief Use aligned allocations.
@@ -63,15 +63,28 @@
/// \brief Number of bytes for cache line alignment
///
-#define PALIGN_CACHELINE (16)
+#define PALIGN_CACHELINE (64)
/// \brief Number of bytes for vector alignment
///
-#define PALIGN_VECTOROPT (16)
+#define PALIGN_VECTOROPT (32)
+
+#define PALIGN_MIN_SIZE (16)
#define PALIGNAS_CACHELINE() PALIGNAS(PALIGN_CACHELINE)
#define PALIGNAS_VECTOROPT() PALIGNAS(PALIGN_VECTOROPT)
+/// brief default minimum alignment of mempool_arena
+///
+/// 256 is the best compromise between logic applications like MAME
+/// TTL games (e.g. pong) and analog applications like e.g. kidnikik sound.
+///
+/// Best performance for pong is achieved with a value of 16, but this degrades
+/// kidniki performance by ~10%.
+///
+/// More work is needed here.
+#define PMEMPOOL_ALIGN (256)
+
// FIXME: Breaks mame build on windows mingw due to -Wattribute
// also triggers -Wattribute on ARM
// This is fixed on mingw version 10