パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

メモリー上で処理するよりもディスクに直接書き込む方が高速?」記事へのコメント

  • StringBuilder buff = new StringBuilder();
    buff.append("select col1,col2,col3");
    buff.append(" from table1");
    buff.append(" where id = 123456");
    -------------------------------------
    String buff = "select col1,col2,col3"
    + " from table1"
    + " where id = 123456";
    -------------------------------------
    以外とわかってない人が多い。

    • by Anonymous Coward

      それは一つの式で複数結合している場合はコンパイラが最適化してくれるだけで、
      ループの中で結合処理をしてたら普通にStringBuilder使ったほうが高速。

      • by Anonymous Coward

        コンパイラの最適化とかまで考え及ばず(無知なだけ)で、「StringBuilderを使えば問題ない!!」って
        「やり方だけを覚えている」アホが多いって言っているんじゃないの?

        実際に数回の限られた文字列結合でStringBuilder使って指摘されても逆切れする人は多い
        当然、彼らはStringBuilderを使用すること自体にもコストがかかることや、そのコスト以上の恩恵が得られるのはどの程度からなのか?など考えたことすらない

        とりあえず噛み付きたいだけだったんだろうけど、銀の弾丸なんてないってことは素直に認めた方が貴方の将来に+だよ

        • 『数回の限られた文字列結合』のコストてどれくらいかかるの。
          ハードウェアの力でどうにでもなるところをちくちく最適化するのは、仕事でなくて趣味の範囲だよね。

          • by Anonymous Coward

            ループでもStringBuilderに最適化してくれないJavaのアホさのために
            自分でStringBuilderをちまちま書かなきゃいけないほうは仕事なんだから
            そこまでやってもべつにいいでしょ
            ループのときはStringBuilder、ループ使わないで一行で結合するなら+って機械的にやるだけでいいんだし
            一行で結合する場合は明らかに+のほうがやりたいことが明確だし

犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー

処理中...