/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | こっちも手前味噌だゴルァ
 \_ ________________
    |/
   ∧,,∧
  ミ,,゚Д゚ミy━~~
   U   ミ
 〜ミ   ミ
   U''U

>>735
func2よりfunc9が遅いのはどうにも理解できん
と思ってしらべたら、俺のfunc9,func10は
わざわざ少メモリにするために改行コード数えてるのね。
そこが遅くなってる。
あっさりと、SetLengthに元文字列2倍確保と
#0で初期化コードを取り除いて計測したら
func10は相当速い。

func10を修正
 //現在の文字列長と最高で改行の数だけバイト数増える分をメモリ確保
 SourceLength := Length(S);
// ResultMaxLength := SourceLength+CountCRLF(S);
 ResultMaxLength := SourceLength * 2;
 SetLength(Result, ResultMaxLength);

 PResultStr:=@Result[1];
// for j:=1 to ResultMaxLength do PResultStr^[j]:=#0;

FileSize=9639
レス 1   100.00% = 100 /   1.00
レス 2    5.90% = 100 /   16.96
レス 3    3.23% = 100 /   30.99
レス 7    3.15% = 100 /   31.76
レス 8    2.36% = 100 /   42.41
レス 9    3.60% = 100 /   27.78
レス10    1.41% = 100 /   71.09
FileSize=126311
レス 1   100.00% = 100 /   1.00
レス 2    0.21% = 100 /  484.40
レス 3    0.13% = 100 /  778.84
レス 7    0.12% = 100 /  859.28
レス 8    0.10% = 100 /  970.60
レス 9    0.15% = 100 /  675.93
レス10    0.05% = 100 /  1900.63
FileSize=455501
レス 1   100.00% = 100 /   1.00
レス 2    0.07% = 100 /  1419.33
レス 3    0.04% = 100 /  2377.14
レス 7    0.04% = 100 /  2468.09
レス 8    0.03% = 100 /  2925.36
レス 9    0.05% = 100 /  2011.05
レス10    0.02% = 100 /  5014.22


ただーし!
for i:=High(prog) downto Low(prog) do with prog[i] do begin
計測はレス10.9.8.7...の順で行ってるけど。(w