SAS忘備録http://sas-boubi.blogspot.com/2018/08/keepdrop.htmlの記事より、data test; length col1-col200 $200.; array ar(*) col:; do i=1 to dim(ar); ar(i) = 'abcdefg'; end; do i=1 to 50000; output; end;run;を実行してサンプルデータ:testを作成し、data out1; set test;run;を実行すると、私のPCでは処理時間 50.90 秒に対して、SAS忘備録では処理時間 1.95 秒と、かなり処理時間が異なっています。次にSAS OnDemand for Academicsで実行するとSAS忘備録と同じ処理時間になりました。そこで質問なのですが、私のPCとSAS OnDemand for Academicsでの処理時間はなぜ大きく異なるのでしょうか。使用しているCPUの違いが原因でしたら、どう違うのでしょうか。
状況から考えればディスクのI/Oパフォーマンスの違いだと思います。
このコードでは複雑な計算処理をしているわけではなく、CPU時間は小さいと思います。
一方でデータセットtestもout1も2GB程度のファイルになりますので、それを読み込んで
書き込むことになります。よってI/Oパフォーマンスが強く影響すると考えられます。
yu_sasさん
ありがとうございます。
実は、SAS OnDemand...の方がWeb上で実行しているのでかなり遅いと思っていたのですが、これだけ処理時間が違うのなら大きいデータの処理はSAS OnDemand...に任せた方が効率が良いと考えています。
でも、データセットをアップロードしなくてはならない(?)ので時間的にはどうなのかと思います。
データセットをアップロードしないで、PC側にあるデータセットに直接Accessできるようにはならないものでしょうか。
念のためですが、SAS OnDemand for Academicsは非営利目的の学習用です。
通常業務で使うデータの処理には利用できないことにご注意ください。
データセットはアップロードしないと使えません。
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Save the date!