注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
MapはO(1)、SwitchはO(N)? Goのmapは、なにか深遠なるアルゴリズムによって取得時O(1)が成立していると... MapはO(1)、SwitchはO(N)? Goのmapは、なにか深遠なるアルゴリズムによって取得時O(1)が成立していると聞いています。 switchは単純に一つ一つの節にマッチするか検証しているからO(N)ですよね? だから、switchよりもmapを使ったほうがいいと思います switchで十分実現できる処理がmapで書かれていたのでレビューで変えるように指摘すると、このようなことを言われました。 確かにmapは取得時O(1)の時間計算量が掲げられていますし、対してswitchは一つ一つ検証していそうです。 ここで、O(N)程度の時間計算量なんか気にするのはcaseが1万とかになってからにしろ、「推測するより計測せよ」「早すぎる最適化」だと、どっちもどっち論で話を終わらせてもいいのですが、Goのような恵まれた環境ではちょっとでもopが増えたりnsレベルでも速度が遅くなるのは気になるの
2025/09/09 リンク