chakra-core / chakra-core/ChakraCore

Memory management improvements neeeded

Open
#4,093 0 comments 0 reactions 0 assignees View on GitHub
Node Performance
Dominant language
JavaScript
Stars
9.3k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

1 - How we allocate the memory

ChakraCore's internal memory managers reserve (i.e. Arena Allocator reserves 128KB memory) good amount of memory at once. However, the problem is, the managers commit the memory per consumer.

This corresponds to lots of calls to mmap on *nix. Neither `mmap` or PAL's VirtualAlloc are good candidates for often calls.

2 - We use VirtualProtect unnecessarily often

We do allocate with write/read rights, and then set no access, and then set read/write again. Similarly, `mprotect` and PAL's VirtualProtect calls are not something we should call per each allocation.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.