アカウント名:
パスワード:
プログラミング言語を変える前に, なぜ遅いのかをはっきりさせないと駄目なんじゃないでしょうか.
データマイニングだと多量のデータを取り扱うことになるでしょうから, アルゴリズムの問題で計算量が増えている可能性もあります. また on memoryで取り扱えない規模のデータ量であれば, IOがネックになっていてCPUが遊んでいるとか, あるいはIOに伴うシステムコール/バックエンドプロセスでCPU時間が消費されている可能性もあります.
ですから手順としては
ということになると思います.
場合によっては, 言語としてはVBAのままで, 何か適当なpluginと組み合わせたら所要の性能が得られちゃったなんてこともあり得るかも.
"VBA profiler" で検索すればフリーも含めていくつもプロファイラアドオンが見つかりますが、なんだかこの人の場合は要所に
Debug.Print "hoge: " & Time
をはさんでログを見るだけでも十分そうな気がします("hoge"は実際には場所によって"データ準備"とか"並べ替え開始"とかで)。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds
まず最初にやること (スコア:2)
プログラミング言語を変える前に, なぜ遅いのかをはっきりさせないと駄目なんじゃないでしょうか.
データマイニングだと多量のデータを取り扱うことになるでしょうから, アルゴリズムの問題で計算量が増えている可能性もあります. また on memoryで取り扱えない規模のデータ量であれば, IOがネックになっていてCPUが遊んでいるとか, あるいはIOに伴うシステムコール/バックエンドプロセスでCPU時間が消費されている可能性もあります.
ですから手順としては
ということになると思います.
場合によっては, 言語としてはVBAのままで, 何か適当なpluginと組み合わせたら所要の性能が得られちゃったなんてこともあり得るかも.
Re: (スコア:1)
原因を探すために役立つツールってExcel VBAだと何があるんでしょう
プロファイラとかあったりするのかしら?
原因を探すのも手間だと思うので、「良く使われている言語」をとりあえず使えば良いと思うのだけれど
Re:まず最初にやること (スコア:2)
"VBA profiler" で検索すればフリーも含めていくつもプロファイラアドオンが見つかりますが、なんだかこの人の場合は要所に
Debug.Print "hoge: " & Time
をはさんでログを見るだけでも十分そうな気がします("hoge"は実際には場所によって"データ準備"とか"並べ替え開始"とかで)。