Scala を使用して URL からコンテンツを取得するより高速な方法があるかどうかを把握しようとしています。Apache を使用すると、ScalaIOUtils
よりも高速にコンテンツを取得できます。Source.fromURL
両方のコードは次のとおりです。
Java の使用:
try {
tmp=IOUtils.toString(new URL("http://gizmodo.com"));
tmp=tmp.substring(tmp.indexOf("360\" title=")+12);
tmp=tmp.substring(0,tmp.indexOf("\""));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
スカラの使用:
val gizmodoPageLines = Source.fromURL("http://gizmodo.com").getLines.mkString("\n")
val pos=gizmodoPageLines.indexOf("360\" title=")
var tmp=gizmodoPageLines.substring(pos+12)
tmp.substring(0,tmp.indexOf("\""))
Java では、約 155899 ns かかります。
Scala の場合: 343880 ns
なぜ Scala コードはとても遅いのですか?