summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-05-10 09:55:57 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-05-10 09:55:57 +0200
commite6780b54bb6ba2b3033ebd5fa5a44044129e3f2b (patch)
treec23151600b86f381d0fb616fcccc330c04237003
parent77044574345331aa8406bde958c0c44fd60a0f22 (diff)
parentc0529dc4f28f9ebe837a085a2b0e21d02302446d (diff)
downloadredot-engine-e6780b54bb6ba2b3033ebd5fa5a44044129e3f2b.tar.gz
Merge pull request #91727 from RandomShaper/cmd_queue_prealloc
`CommandQueueMT`: Pre-allocate memory to avoid a bunch of allocations at startup
-rw-r--r--core/templates/command_queue_mt.cpp1
-rw-r--r--core/templates/command_queue_mt.h4
2 files changed, 2 insertions, 3 deletions
diff --git a/core/templates/command_queue_mt.cpp b/core/templates/command_queue_mt.cpp
index d9e5e0b217..ef75a70868 100644
--- a/core/templates/command_queue_mt.cpp
+++ b/core/templates/command_queue_mt.cpp
@@ -42,6 +42,7 @@ void CommandQueueMT::unlock() {
}
CommandQueueMT::CommandQueueMT() {
+ command_mem.reserve(DEFAULT_COMMAND_MEM_SIZE_KB * 1024);
}
CommandQueueMT::~CommandQueueMT() {
diff --git a/core/templates/command_queue_mt.h b/core/templates/command_queue_mt.h
index dbf938a117..349404d75b 100644
--- a/core/templates/command_queue_mt.h
+++ b/core/templates/command_queue_mt.h
@@ -325,9 +325,7 @@ class CommandQueueMT {
/***** BASE *******/
- enum {
- DEFAULT_COMMAND_MEM_SIZE_KB = 256,
- };
+ static const uint32_t DEFAULT_COMMAND_MEM_SIZE_KB = 64;
BinaryMutex mutex;
LocalVector<uint8_t> command_mem;