슬래브 할당 자 또는 이와 유사한 것이 GHC의 썽크 구조에 메모리를 할당하는 데 사용됩니까? 또는 C에서 과 같은 순진한 것을 사용합니까?슬래브 할당자는 GHC에서 썽크 용 메모리를 할당하는 데 사용됩니까?
지연 기능 프로그래밍 언어에서 특히 많은 스레드가 실행되는 경우 썽크 수가 잠깐 할당 된 것 같습니다. 또는 할당이 자주 발생하지 않습니까? the GHC repository에서 코드를 찾으려고했지만 아무 것도 찾을 수 없습니다. 그것은 블록을 기반으로 https://ghc.haskell.org/trac/ghc/wiki/Commentary/Rts/Storage/BlockAlloc
:
[GHC의 가비지 컬렉터 관련 문서] (http://simonmar.github.io/bib/papers/parallel-gc.pdf). – Alec
가비지 수집 된 환경에 대한 메모리 할당은 C에서 작업하는 방식과 근본적으로 다릅니다. malloc이 너무 비싸다는 이유는 객체를 임의의 순서로 해제 할 수는 있지만 이동할 수 없기 때문입니다. 그러나 가비지 수집기가 객체를 이동하는 것은 일반적이며, 이는 할당 기 자체를 훨씬 간단하고 간단하게 만들 수 있음을 의미합니다. –