小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

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

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

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

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

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

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

とのことです。