始める無料で始める

処理時間はデータサイズでどう変わりますか?

2つのデータセットの全要素を処理する場合、一方が大きければ、その分処理に時間がかかります。ただし、その「どれくらい長くなるか」は、サイズの比に必ずしも正確に比例するわけではありません。つまり、2つのデータセットがあり、一方がもう一方の2倍のサイズでも、処理時間が必ず2倍になるとは限りません。1.5倍になることもあれば、4倍かかることもあります。これは、データセットの処理にどの操作を使うかに依存します。

この演習では、Writing Efficient R Code コースで扱った microbenchmark パッケージを使います。

注意: 数値は科学的記数法で表記しています。$$1e5 = 1 * 10^5 = 100,000$$

この演習はコースの一部です

Rで学ぶスケーラブルなデータ処理

コースを見る

演習の手順

  • microbenchmark パッケージを読み込みます。
  • microbenchmark() 関数を使って、ランダムベクトルのソート時間を比較します。
  • mb に対して plot() を呼び出します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Load the microbenchmark package
___

# Compare the timings for sorting different sizes of vector
mb <- ___(
  # Sort a random normal vector length 1e5
  "1e5" = sort(rnorm(1e5)),
  # Sort a random normal vector length 2.5e5
  "2.5e5" = sort(rnorm(2.5e5)),
  # Sort a random normal vector length 5e5
  "5e5" = sort(rnorm(5e5)),
  "7.5e5" = sort(rnorm(7.5e5)),
  "1e6" = sort(rnorm(1e6)),
  times = 10
)

# Plot the resulting benchmark object
___(mb)
コードを編集して実行