エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
std::vector をがんばって高速に resize する - Qiita
あらまし プロファイラとにらめっこしながら気合を入れて最適化していくと、最終的に上位に std::vector... あらまし プロファイラとにらめっこしながら気合を入れて最適化していくと、最終的に上位に std::vector<char>::resize() が残った、という経験が度々ある。 該当ケースは大抵 std::vector<char> を一時バッファとして利用しており、頻繁に resize() が呼ばれ、サイズは数十~数百 MB 規模に及ぶ、といった感じである。std::vector の resize() は新規に追加される要素に対してはコンストラクタを呼ぶが、組み込み型の場合はゼロクリアがなされる。大きなメモリ領域へのゼロクリアは重い処理であるため、プロファイル上位に残ることになるのだが、一時バッファは基本的にゼロクリアは不要であり、純粋に時間の無駄である。この無駄をなんとかしたい。 根本的な話として、こういう状況では std::vector<char> は使うべきではないと思う。mallo
2021/08/26 リンク