掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB.NETの演算速度がVB6よりも遅いのを解決するには? (ID:117372)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>ひろさん >Dim DataArrar As DataRecored(8000,8000,8000) Mt=8000と言うのは、たとえば1ps=1e-12secごとの電磁界を計算した場合に、 8ナノ秒間の電磁界を計算するというわけですが、実際に出力するのは ある観測点の電磁界で、配列要素を8000も確保しているわけでは無いんです。 配列として確保しているのは空間要素としての50*50*50の3次元ですから、 メモリが不足すると言うことはちょっと考えられないのです。 研究室のPCは搭載メモリが2GBもある贅沢なものですし。 >ねろさん アップグレードウィザードを使うと、自分の知らないところでいろいろ変更されて気分が悪いので、 一から打ち直しました。確認したところ変数の型で間違えていると 思うところはございません。IntegerとDouble型しか使っていません。 ちなみにDoubleをSingleに変更してもVB6のDoubleに負けてしまいます。 ねろさんの書かれたコードですとcの値がループ中で一定なので もしかしたらその違いはコンパイラの最適化の影響によるような気もしますが、 今計算中なのでちょっと確認が取れません。 VB6には「配列の範囲チェックを削除」のオプションがあるのでこれのおかげで 速くなっているのかも…?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.