スピードアップ – プログラミング – Home

通知
すべてクリア

スピードアップ


tairan
 tairan
(@tairan)
ゲスト
結合: 22年前
投稿: 19
Topic starter  

ここで質問することではないと思いますが、よろしくお願いします。

現在、C#でTextを読み込んでExcelに貼り付ける作業を全て実施していますが

DLL:C#/EXE:C++

といった組み合わせの方が処理速度はいいのでしょうか?
それとも、他でもっと処理速度が上がる方法はありますか?


引用解決済
トピックタグ
suzuka
 suzuka
(@suzuka)
ゲスト
結合: 22年前
投稿: 46
 

>DLL:C#/EXE:C++
この組み合わせにして速度が上がるかもしれないと
思う根拠はなんでしょうか。
ボトルネックを切り分けたほうがよいですよ。

Excel をオートメーションで使用していて
そこがボトルネックなのだと仮定しますが、

Excel はアウトプロセス サーバーですので
メソッド呼び出しなどのオーバーヘッドはかなり大きくなります。
ループで繰り返し呼び出した場合、オーバーヘッドが
無視できなくなります。

以下に気を付けてみましょう。

・メソッドの呼び出し回数を減らせないか
 複数の値を一度に設定できるメソッドの使用はできないか

・オブジェクト参照の回数を減らす
 1.より、2.のコードにすべきです。

1.
for (i = 0; i < 500; i++) {
abc.def.ghi.jkl(i);
}

2.
obj = abc.def.ghi;
for (i = 0; i < 500; i++) {
obj.jkl(i);
}

ほかにもあるかもしれませんが、
とりあえず こんなところで。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました