Posted at
HALDay 2

アロケータを作ってみた話

More than 1 year has passed since last update.


概要

このスライドを見ている時に思いついた。

こんなアロケータあってもいいんじゃない?って言う提案。(ガベコレとかマルチスレッドの話はしません)


前置き

メモリプール・スモールオブジェクトアロケータ・TLSFなど、速度と割当の正確性がトレードオフになっているメモリアロケータは数多く存在します。

その一方、寿命の制御を手放すことで高速且つ正確な割当を実現しているアロケータもあります。

これらのいいとこ取りを出来ないでしょうか。

という事で、高速で割り当てる層と正確に割り当てる層の二層で構築されるアロケータを組んでみました。


フロー


実装

こちら


まとめ

今回実装した二層アロケータは、速度を優先としたFrontと正確性を優先したBackのと言った実装でした。

今回はFrontとBackの二度割当をしていますが、Backを別スレッドなどで行うことでさらなる高速性を得られそうです。