vectorもどきver1.53バグ報告
ツイート多分使っている人はいるとは思えないませんが一応報告。
285行のVirtualAllocの引数にバグがあります。
サイズ指定はnew_sizeではなく、sizeof(T)*new_sizeです。
このアロケータを作ったのは、できるだけメモリ消費量を削減する目的で作ったのですが、VirtualAllocの仕様をよく読むと、今のままではほとんど意味がないと思います。この関数は最初ドバっと大量のサイズを予約することに存在意義のある関数で、私が意図したものではありませんでした。
そのため、この文章を書いているこの日、ファイルマッピングを利用したアロケータを作りました。これならメモリ(RAM、要するにアプリのワーキングセット)を削減できるかと思います。なのに使い勝手は今までと全く変わらない。若干速度が落ちるとは思いますが。
これを利用したバージョンは今年中にはリリースできるかと思います。コード量は大したことないのですが、テストなど色々ありますので。
Posted: 2020 年 8月 22 日, カテゴリー vector modoki.
Tags: C++, STL, vector