summary refs log tree commit diff stats
path: root/results/scraper/fex/1655
diff options
context:
space:
mode:
Diffstat (limited to 'results/scraper/fex/1655')
-rw-r--r--results/scraper/fex/165510
1 files changed, 10 insertions, 0 deletions
diff --git a/results/scraper/fex/1655 b/results/scraper/fex/1655
new file mode 100644
index 000000000..0d186361f
--- /dev/null
+++ b/results/scraper/fex/1655
@@ -0,0 +1,10 @@
+RA pass should use less memory
+The register allocation pass uses a significant amount of memory .

+This should be setup to use the thread pool allocator so threads can eventually relinquish ownership of their buffers.

+This isn't a simple task because we are relying on some destructors to run at some points.

+

+The biggest contributor to memory usage is `std::vector<RegisterNode> Nodes{};` inside of RegisterGraph since we always allocate that to 8192 nodes per thread by default. Which makes it be 4MB per thread, expanding beyond that if the node count isn't enough.

+

+The second largest usage there is the RegisterGraph itself, which I believe is mostly from the RegisterSet but that would need to be checked on.

+

+These are all allocated without mmap, so it adds up quickly how much memory it uses. Especially when running something like Steam with a bunch of processes and threads.
\ No newline at end of file