
No.1ベストアンサー
- 回答日時:
>配列を増やすほど実行速度が遅くなっていく気がします。
納得です。そうだと思います。
>また、いっそのことVC++で書き直すと、実行速度は速くなる可能性はありますか。
C#であれば、あまり速度的に変わらないと思います。
C++であれば、「領域確保」自体にはあまり差異はないと思いますが、.NET自体の重さを避ける事ができるので、他の部分や処理で高速化されると思います。
ただ個人的に、そんな大きな領域を確保する必要がることに疑問を感じたので、以下に書きます。
(ここからは、余談程度だと思ってください。)
>コード内で動的配列を多用
>いらなくなったと同時にErase
ということは、Public宣言で多くの動的配列を持っているということですか?
件数から想像すると、内部テーブルとして溜め込み、その後この変数内のデータに(もしくはデータから)処理を行っていませんか?
そうであれば、データセット化して扱うと、領域確保だけを考えると高速化にはなりませんが、処理を簡潔にできるかもしれませんよ。
「動的配列を多用」という各変数を、それぞれデータテーブル化し、データセットとしてまとめると変数は一つで済みます。
以下の利点が生まれます。
・データの複写が容易
・データの検索・抽出ができる
・データのテキスト化も簡単(XML)なので、テキスト出力処理が一発で済む(だからデバッグもしやすい)
いずれにせよ、その多用している動的変数の各扱いや、処理内容がわからないと、何が適しているかはわかりません。
この回答への補足
回答ありがとうございます。
>いずれにせよ、その多用している動的変数の各扱い
>や、処理内容がわからないと、何が適しているかは
>わかりません。
私も質問した後これではわからないと思いました..(汗
やりたいことは、ファイルからバイナリリード -> 取得したByte配列の頭にヘッダを挿入 -> ヘッダごと配列を暗号化 -> 暗号化した配列にさらに頭にヘッダを挿入
とややわかりにくい事をしています。
つまり、配列の頭に要素を加えるごとに別の配列を作ってコピーをしているんです。
末尾に加えるなら簡単なのですが、アルゴリズムが思いつかなかったので非効率な事と思いながらこうしてしまいました。
知りたい事をまとめますと、
・大きな配列を使用した場合、exeファイル実行に影響はあるのか。あるとすれば、即時にEraseで消すと影響は小さくなりますか。
と
・配列の頭にさらに要素を加える場合、もう一つ配列を作らないでできるアルゴリズムはあるでしょうか?
という事になります。
できるだけ高速化したいために質問いたしました。
長文失礼します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#でbyte配列から画像を表示さ...
-
vba フィルター 複数条件 3つ以...
-
VBA 変数名に変数を使用したい。
-
VBAでMODE関数をつくる
-
構造体配列の特定のメンバーをF...
-
配列のペースト出力結果の書式...
-
まとめて宣言。まとめて使用
-
大量の変数を定義するにはどう...
-
エクセルのシート中のデーター...
-
定数配列の書き方
-
OutOfMemoryExceptionの回避策...
-
セル範囲から一次元配列の生成
-
エクセルでXY座標に並べられた...
-
複数のtextboxの処理を一括で行...
-
free()関数の多用 と Segment...
-
VB6からの移行したいけど、VB.N...
-
VBAで配列引数を値渡しできない...
-
コンボボックスのインデックス...
-
Redim とEraseの違いは?
-
VBA フォルダ内のファイルを、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
Dir関数で読み取り順を操作でき...
-
エクセルでXY座標に並べられた...
-
vba フィルター 複数条件 3つ以...
-
OutOfMemoryExceptionの回避策...
-
配列のペースト出力結果の書式...
-
VB.NETの配列にExcelから読み込...
-
レコードセットの中身を配列に...
-
配列の中の最大値とそのインデ...
-
VBAでMODE関数をつくる
-
大量の変数を定義するにはどう...
-
構造体配列内の文字列検索のよ...
-
COBOLの基本的な事なので...
-
構造体配列の特定のメンバーをF...
-
DBから取得した値を配列へ代入する
-
VB6からの移行したいけど、VB.N...
-
VBScriptでCSVファイルを読み出...
-
RPG 配列宣言について
-
コンボボックスのインデックス...
おすすめ情報