燈明ブログ

現状は小池啓仁の応援ブログ

文字列連結は、めちゃくちゃ遅い

VB6での文字列型は、一つの変数で、仕様上2Gバイトまで使用することが出来ます。
ですので、文字列を連結していろいろ処理をするわけですが…、実は、連結がめちゃくちゃ遅い処理だったことが分かりました。
連結の処理をテーブル格納処理に変更したら1時間掛かっていた処理が3分で終わりました。

理由は、以下の通りです。

答えは「T = T & "A"」の処理で「変数 T 用の常に新しいメモリ空間に、既存の内容をコピーしているから」です。

つまり、上記を実行すると「T = T & "A"」の度に、以下の手順が繰り返されます。

(1)新しい T のエリアに今までの T の内容を全てコピー。
(2)その後に、"A" を付け加える。

とのことです。