Преглед на файлове

LibJS: Remove inline capacity from MarkedVector

Turns out this was hurting performance instead of helping it.
By removing the inline capacity, we shrink the size of ExecutionContext
by 512 bytes, which substantially reduces the stack pressure created by
JS recursion (each call creates a new ExecutionContext on the stack).

4.4% speed-up on the entire Kraken benchmark :^)
Andreas Kling преди 1 година
родител
ревизия
13057812d5
променени са 1 файла, в които са добавени 1 реда и са изтрити 1 реда
  1. 1 1
      Userland/Libraries/LibJS/Forward.h

+ 1 - 1
Userland/Libraries/LibJS/Forward.h

@@ -297,7 +297,7 @@ class ThrowCompletionOr;
 template<class T>
 class Handle;
 
-template<class T, size_t inline_capacity = 32>
+template<class T, size_t inline_capacity = 0>
 class MarkedVector;
 
 namespace Bytecode {