AnsiStringがどうたらだけでなく、自分自身の領域の中で前に詰めていき、最後に後ろを切って捨てるってことですよね。
他の領域を使わないから、また更に早いと思っていいでしょうか?
ループの中でクラスを呼んでないことが一番効いているのだとは思いますけど。