ExcelやGoogleスプレッドシートは本当に大量のデータを処理できるのか?
by Pexels
経理データをまとめたり、機械学習で大規模なデータセットを構築したり、大量の数字を分類しながらまとめるときに表計算ソフトがよく使われます。コンピューター科学者であるAditya Parameswaranさんらが率いる研究チームが、Microsoft Excel、Google スプレッドシート、オープンソースのフリー表計算ソフトのLibreOffice Calcでベンチマークを行ったと発表。この研究結果を、コンピューター科学者のAdrian Colyerさんがわかりやすく解説しています。
Benchmarking Spreadsheet Systems
https://people.eecs.berkeley.edu/~adityagp/papers/spreadsheet_bench.pdf
Benchmarking spreadsheet systems – the morning paper
https://blog.acolyer.org/2019/12/06/benchmarking-spreadsheet-systems/
技術の進歩を受けて、GoogleスプレッドシードやExcelといった表計算ソフトは500万セル以上をサポートしているとうたわれています。しかし、Colyerさんは、「実際には数万行を読み込んだところで表計算ソフトは動作がかなり重くなり、フリーズも頻発して実用に耐えなくなることがほとんどだ」と指摘しています。
このことを研究で示したのがParameswaranさんの研究チーム。研究者たちはは気象データを収録した5万行×17列のスプレッドシートファイルをサンプルに使い、ベンチマークテストを行いました。
研究チームはまず、サンプルから150行から49万行までさまざまな行数のスプレッドシートを用意し、さまざまな操作を行って読み込み・更新・クエリで読み込みにかかる時間をチェックしました。
以下の左のグラフはExcelとLibreOffice Calc、右のグラフがGoogleスプレッドシートの遅延をまとめたものです。横軸がサンプルの行数で、縦軸が読み込みにかかる秒数。Fは数式セルと値セルを読み込んだ場合、Vは値セルのみを読み込んだ場合です。Excelは比較的安定して動作しますが、セルも読み込むと読み込み時間がほぼ倍になっています。
LibreOffice Calcの場合、セルによって読み込み時間が変わることはありませんでしたが、Excelに比べるとかなり動作が重いことが、上のグラフを見るとよくわかります。また、Googleスプレッドシートはばらつきがあるものの、数式セルを読むとかなり時間がかかっています。
Colyerさんは「Excelは6000行、LibreOffice CalcとGoogleスプレッドシートは150行を超えると実用に耐えないレベルで遅延しています」と評価しています。
そして、フィルタ機能で絞り込みを行った場合のグラフが以下。数式セルと値セルを含むシートでの絞り込みをExcelで行うと、処理に異常なほど時間がかかってしまったことがよくわかります。また、Googleスプレッドシートは2万行を超えると処理に1.5秒もかかるようになり、5万行を超えると5秒近く待たされることがわかりました。
また、VLOOKUP関数を使った場合、LibreOffice CalcとGoogleスプレッドシートはスプレッドシート全体をスキャンし、値が見つかったら停止するという動作もなかったそうです。そのため、データが並べ替えられた場合、LibreOffice CalcとGoogleスプレッドシートでの作業はかなり非効率的になるとColyerさんは述べています。
全体的に見て、表計算ソフトの各種は、大規模なデータセットを効率的に処理できていないとColyerさんは論じ、「今回のベンチマーク結果は表計算ソフトの最適化に貢献する出発点になるでしょう」と述べました。
・関連記事
「Excel上で動くドラムマシン」を作成した猛者が登場する - GIGAZINE
世界を劇的に変えた大発明の1つ「スプレッドシート」誕生秘話 - GIGAZINE
Excelで3Dフライトシミュレーター作成など、表計算のレベルを突破したものすごいExcelファイルを集めた「Excel Unusual」 - GIGAZINE
HTML/CSSで絵を描く猛者が作品を公開中 - GIGAZINE
Googleスプレッドシートがついにマクロに対応 - GIGAZINE
Excelで絵画を描く日本のおじいさんが海外で「Excelのミケランジェロ」と評される - GIGAZINE
超絶変態的なまでに細かいExcelお絵かきが海外で話題に - GIGAZINE
Googleスプレッドシートの自動データ分析機能「データ探索」が機械学習でよりスマートに進化 - GIGAZINE
・関連コンテンツ