JavaのString.format()とStringBuilder#append()の文字列結合速度比較

·1 分で読めます

Javaで文字列を結合するときは一般的にはStringBuilderを使うけど、個人的には結合後の文字列がより直感的になるString.format() が好き。ただ、ソースを見ると明らかにString.format()は遅そうなのでベンチを取ってみた。

1万回ループを実行した場合の結果は

  • StringBuilder: 76 ms

  • String.format: 615 ms

となってStringBuilderの方が圧倒的に速い。個人的にはLL慣れしているのもあってString.format()の方が圧倒的に見やすくて好きなんだけど、スピードが要求されるときはやっぱりStringBuilder使わないと駄目だと思った次第。

ちなみに測定環境は下記。

  • CPU: Intel Core i5 2.3Ghz Macbook Pro

  • OS: Mac OSX SnowLeopard

  • Java: java version "1.6.0_26", Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425), Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)

[tmkm-amazon]4797337206[/tmkm-amazon]