oinume journal

Scratchpad of what I learned

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

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

 

 

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

 

 

  • StringBuilder: 76 ms

 

 

  • String.format: 615 ms

 

 

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

 

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

 

 

 

 

  • 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]