今回の記事では、パソコンの話題について書かせて頂きたいと思います。
まずは、ExcelのVBAプログラムコードの実行速度について衝撃を受けた話です。
仕事の話なので、具体的な内容や画像をここに書かせて頂く事は出来ませんが、かなり複雑で実行時間もかかる処理を、新しい形式(.xlsm)のExcel 2007で作ったわけです。
それと全く同じコードを、古い形式(.xls)のExcel 2000に移植して実行したところ・・・。
パフォーマンスでとてつもない衝撃を受けてしまいました。
(※画像は仕事とは無関係の、プライベートで作ったゲーム一覧表のVBAです)
(※画像は仕事とは無関係の、プライベートで作ったゲーム一覧表のVBAです)
なんと、古いExcel 2000の方が6.07倍も実行速度が速いのでした。
Excel 2007の形式(.xlsm)は、それまでExcelの壁だった1シートにつき65536行までの限界を突破した形式で、大規模な処理には好んで使われそうな印象があったんですが、XMLベースのアプリケーションになっているのが災いしているのか、実行速度が滅茶苦茶に遅くなっているわけですね。
だから、65536行を超えるシートが必要になった場合は、プログラムでもってシートを複数に分割してコントロールするとかして.xls形式にこだわるのを第一として、そいでもって、それが駄目なら次に.xlsmを検討するという順番が良いのかなぁと。
逆に言えば、Excel 2007形式が悪いのではなくて、Excel 2000が超高速!という事でもあるんですよね。
限界までパフォーマンスを突き詰めないといけないExcelのVBAプログラム作る時は、この点を考慮してもバチは当たらない感じですよね・・・6.07倍だもんなぁコリャ(速度差はプログラムの内容によって変動します!6.07倍固定ではありません!)。
※追記
Excel 2007にサービスパックを当てたら高速化して2.53倍まで差は縮まりました!
しかしそれでもかなりの速度差はついたままですね・・・
次は、Windows8のスタート画面について
Windows8のスタート画面の「タイルがカッコ悪くてイヤ」という話を、友達や職場の同僚からも聞くようになって来ました。
いよいよWindows8発売が近いのかなというワクワクと共に、あの「マス目」のサイズが出鱈目なタイルは、確かに言われると微妙かも。
ただ、以前もブログに書かせて頂きましたが、consumer preview版ではありますけれど、タテ・ヨコを揃えたデザインにカスタマイズ出来るんですよね。
これが現在の、自宅の自作PCにインストールしてる私のWindows8のスタート画面なんですが、揃えたデザインに出来ます。
まぁ言ってしまえばそれだけの記事なんですけれど。
ただ、正式版ではどうなるんだろう。
あくまでも今使っているのってconsumer previewに「過ぎない」わけで、確定的な話をするのは無理なんですよね。