2014-04-09

http://anond.hatelabo.jp/20140409110204

いいよ。どうせ99.99%の文字列連結はパフォーマンスに影響しないんだから、'+'で書いておいて、ボトルネックが生じたところだけプロフイラで計測して必要ならそこだけ書き換えればいい。

記事への反応 -
  • Javaで文字列連結は+を使えばStringBuilder()に最適化されるから、+を使っておけばよい ただしループなどで不定回数連結するものなどは最適化されないからStringBuilder()を使う ということ...

    • いいよ。どうせ99.99%の文字列連結はパフォーマンスに影響しないんだから、'+'で書いておいて、ボトルネックが生じたところだけプロファイラで計測して必要ならそこだけ書き換えれば...

    • 文字列の連結に「+」っていう演算子を使うことが概念的にスマートじゃねえんだよ。分かれ。

    • Javaで文字列連結は+を使えばStringBuilder()に最適化されるから、+を使っておけばよい いやいや、最適化されるのってリテラルの連結だけだろ?

      • Javaにヒアドキュメントが導入されれば解決する問題なんだけどな、文字列連結なんつーのは。 SQL文を組み立てるのに毎行毎行+"WHERE "+ "ID =" +id とか見てるとマジ発狂したくなる。 文字列...

      • いや変数でも最適化される。 使い分けが理解できないなら+を使っておけばいいよ。

        • StringBuilderよりも+のほうが性能出る場合があんの? 無いならStringBuilderで統一すべきだろ?

          • Javaを使う業務の目的でベンチマーク性能を求められることはほぼ無いからな? そもそも文字列結合ごときでシステム全般のパフォーマンスが致命的に上下しないからな?

          • 文字列連結があるたびに new StringBuilder() ~ append() とか、書くのも面倒だしコードも猛烈にゴチャるね

      • ごめんなさい。素直に横から質問なんですけど 何の意味があるの?  どちらにしろ趨勢に影響ない場合のほうが多数でしょ。 逆にそれが処理速度の過半を占めるようなレアなプログラ...

        • +による連結とStringBuilderによる連結で可読性はそんなに変わらないと俺は思ってる。 んで、可読性が変わらないなら、性能が出るほうに統一するべきだろ。

          • スクリプト系の言語には "本は{$count}冊あります" みたいに文字列中に変数を展開する機能があるじゃん。 これを "本は".appned($count).appned("冊あります") とか書いてたら、絶対「なんでこん...

            • String.Format()使えよ…(マジ切望)

            • 好みです、じゃねーよ。 性能が違うっつってんだろ。 改行すりゃ別に読みにくくない。 s = new StringBuilder().append("本は").append(count).appned("冊あります").toString(); ループ内だったらStringBuilder...

              • StringBuilder sb=new StringBuilder(); sb.append(String.Format("本は%d冊あります\n",booknum)) .append(String.Format("しかし、%s君は本を読むことが出来ません\n","増田")) .append(String.Format("何故なら%s君は%sを読むこ...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん