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 :^)
This commit is contained in:
parent
f10db48bab
commit
13057812d5
Notes:
sideshowbarker
2024-07-17 07:16:27 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/13057812d5 Pull-request: https://github.com/SerenityOS/serenity/pull/21387
1 changed files with 1 additions and 1 deletions
|
@ -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 {
|
||||
|
|
Loading…
Add table
Reference in a new issue