Skip to content

Conversation

faithandbrave
Copy link
Member

Copy link
Contributor

github-actions bot commented Oct 3, 2025

プレビュー (HTML) (更新時刻: 2025-10-06 17:58:23 JST)

  • Commit: 564a211
  • プレビューの生成には時間がかかります (3~5分)。進捗状況はこちらをご確認ください。

変更記事一覧

4件の記事が変更されました。

※ソース (.md) に直接変更のあった記事を列挙しています。グローバル修飾や変換規則の変更による変化は考慮していません。

Copy link
Contributor

@tshino tshino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

自分の認識と一致しました。問題ないと思います。

Copy link
Member

@akinomyoga akinomyoga left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[`std::unordered_map`](/reference/unordered_map/unordered_map.md)よりは劣る

計算量は劣るけれど、実際の時間で std::unordered_map より遅いかはかなり微妙な問題の気がします…繰り返し触る場合 std::flat_map の方が局所性に優れているのでサイズによっては std::unordered_map よりも速いかも (実測していないですが 追記: さまざまな処理系でさまざまなサイズで実測するのは面倒です。あとハッシュ関数の時間にも依ります)。

@tshino
Copy link
Contributor

tshino commented Oct 5, 2025

その観点は同感です。ほとんどの文脈で計算量の話をしていて、一部で計算量が同じの場合だけ実際の時間の話をしている、ということを明確にした方が良いのかもしれませんね。

@yumetodo
Copy link
Member

yumetodo commented Oct 6, 2025

こんな記事があったなぁとは思い出しましたが、参考リンクに載せるほどでもないしなぁという > 実測

@faithandbrave
Copy link
Member Author

「ハッシュ表は無料ではない」という言葉があるように、小さいサイズならstd::mapとかを使ったほうがよいというのは言われていますね。

大きいサイズの[`std::unordered_map`](/reference/unordered_map/unordered_map.md)よりは劣る

こういう感じでどうでしょう?

@akinomyoga
Copy link
Member

それだと "大きいサイズの unordered_map" と "(サイズを指定しない) flat_map" の比較になってしまっている気がするので、以下はいかがですか (あと より劣る はちょっと変な気がしました)。

サイズが大きいときは[`std::unordered_map`](/reference/unordered_map/unordered_map.md)に劣る

@akinomyoga
Copy link
Member

こんな記事があったなぁとは思い出しましたが、参考リンクに載せるほどでもないしなぁという > 実測

これらの参考リンクは載せたら便利の気がします。

@faithandbrave
Copy link
Member Author

yumetodoさんの記事は、Boost.Containerのflat_mapなのですよね。
標準に入ったものと計算量はいっしょですが、構造がちがうので悩ましいところです…

@faithandbrave
Copy link
Member Author

それだと "大きいサイズの unordered_map" と "(サイズを指定しない) flat_map" の比較になってしまっている気がするので、以下はいかがですか (あと より劣る はちょっと変な気がしました)。
サイズが大きいときはstd::unordered_mapに劣る

こちらで修正しました。

@akinomyoga
Copy link
Member

yumetodoさんの記事は、Boost.Containerのflat_mapなのですよね。 標準に入ったものと計算量はいっしょですが、構造がちがうので悩ましいところです…

なるほどです…

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants