HackerNews

メモリマップ(mmap)がGoにおいてファイルアクセスを25倍速くする方法

How memory maps (mmap) deliver faster file access in Go

https://info.varnish-software.com/blog/how-memory-maps-mmap-deliver-25x-faster-file-access-in-go


本記事では、Goプログラミング言語におけるメモリマップ(mmap)の利点について解説しています。mmapを用いることで、システムコールを避けてファイルアクセスが可能になり、パフォーマンスが大幅に向上します。具体的なベンチマーク結果では、mmapを使ったランダムアクセスは1回の参照において3.3ナノ秒と、従来手法の416.4ナノ秒に比べて圧倒的に速いことが示されています。一方で、mmapには書き込みに関する制約があり、マップされていないページに書き込むと、高いオーバーヘッドが発生するため効率が悪くなります。mmapの利点と欠点を考慮しながら、最適なシナリオでの活用が求められます。