C/C++ゲーム製作総合スレッド Part7at GAMEDEVC/C++ゲーム製作総合スレッド Part7 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト313:多くのローカル変数) が置かれる。 314:名前は開発中のものです。 15/02/11 02:24:49.00 COJ2IR9k.net いわゆるメモリープールのようなものは既にランタイムに実装されてる場合もあるし 自分で実装する・しないは実行環境によると思う。 最近はこの辺のことは既に当たり前になってるのかどうか知らないけど、 検索してもあまり引っかからないね。とりあえず引っかかったところ http://vcpp-ml.ldblog.jp/archives/1169943.html ではVCのランタイムのソースみればとなってるので 興味ある人は読んでみては。 315:名前は開発中のものです。 15/02/11 02:41:42.58 0cWu/C1d.net 俺が昔作ったベンチ引っ張り出してきた 10000個確保して解放を1セットで、10回繰り返す malloc 0.0104349686516726 100 new 0.0170437163409596 163.332702856062 tlsf 0.0327989992535455 314.318138831095 右側がmallocを100とした場合の倍率。意外とtlsfは遅い。 んで下が自作のメモリアロケータでnewとdeleteをオーバーロードしてて 上で使ったnewするソースをそのまま使ってる。 fixpool 0.01086365697986310 104.108189899754 fixpool-ss 0.00270476282206395 25.9201815774541 アルゴリズムは一回使ったものをリストにつなげておいて、newのとき取り出すだけ。 ssは上限が分かっている場合で、先にメモリ確保するのでmallocを上回れる。 まぁ、はっきり言って速度だけを考えると自作アロケータの必要はないかなレベル・・・と思う。 確か、スマートポインタのベンチもどっかにあったはずなんだが、どこだったか・・・ 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch