TLSFアロケーターを用いたmallocとfreeです。 数GiBものデータが扱えます。 これを使っていただけると嬉しいです。 マニュアルは長いので中に書いてあります。 ある程度の動作確認はしていますが 不具合がまだ残っている可能性があるので もし見つけた場合は遠慮なく報告してください。 もとからあまり速度は期待していなかったけど 常にキャッシュヒットしたとしても毎秒数千回程度 しかメモリ確保ができないという。 またTLSFは定数時間アルゴリズムだけど このプロジェクトのヒープのキャッシュの入れ替え の実装が非常に遅くてヒットした時と そうでない時とでかなりの差が出るので このアロケータを定数時間でアロケーションできる ものであると言い張るのは難しい気がする。
Scratchでの先駆者 malloc & free ( 動的メモリ確保 ) https://scratch.mit.edu/projects/191575622/ 参考資料 TLSF | <none> http://www.gii.upv.es/tlsf/index.html ページのタイトルが設定されていないサイト https://web.archive.org/web/20070628092501/http://rtportal.upv.es/rtmalloc/allocators/tlsf/index.shtml GitHub - mattconte/tlsf https://github.com/mattconte/tlsf/tree/deff9ab509341f264addbd3c8ada533678591905 その2 TLSFメモリアロケータ - マルペケつくろーどっとコム http://www.marupeke296.com/ALG_No2_TLSFMemoryAllocator.html 図解TLSF - ryutorion - Zenn https://zenn.dev/ryutorion/articles/illustrated-tlsf Goでメモリアロケータを実装&ベンチマークで比較してみた - Qiita https://qiita.com/warawara28/items/8c911b7a7ad7fd7e4c7d