ScalaのActorを使って非同期で画像ファイルをいくつか同時にダウンロードしてみる実験.「非同期化ではやくなった!」みたいなのを体験するのが目的です.
上のスクリプトを使い同期/非同期でいくつか(15とか)の画像ファイルをダウンロードして,実行時間をおおまかにはかってみた.結果,同期版: 3.423秒/非同期版 3.090秒 とあんまりかわらず.
そんなに「非同期化ではやくなった!」みたいな体験はできなかった…
- 画像ファイルをおいてあるサーバがローカルネットワークにあったのでIO waitが比較的短くて,同期/非同期の差がでにくかった?
- Actorのオーバーヘッドがすごい?
あたりがあんまり速くならない原因かなあ.
Perlのスクリプトを使ってローカルじゃないリモートのサーバに対してほぼ同様の実験してみたときは,同期版: 8.506秒/非同期版 2.691秒と結構顕著な差が出てたので,あたりまえだけどIO waitの長さが結果にだいぶ効いてる気がする.
全体的に計測の仕方が適当なので,結果は信用ならないのです.