Delphi相談室その3
■ このスレッドは過去ログ倉庫に格納されています
0754Delフサギコ ◆zE1iiRdQ
NGNG~━っミ ゚Д゚彡,, < 遅いコードを書いたら即ベーシッカー扱いかよ
∀._(,,,~ ,,,~⊃_ \_オメデテーナ_______________
━┳┷ |. ,(~ヽ,,,ミ.
┃...| ̄ ̄し'J.  ̄ ̄ ̄
┻ ヽ ̄ ̄ ̄ ̄ ̄ ̄ ̄
そんな短絡思考してるからVBや.NETの人にDel厨扱いされるんじゃないの?
文字列のメモリ確保に関するオーバーヘッドの仕組みを
理解していないと、遅いコードを書く事があるってだけでしょ。
というか、元コードのソースぐらい一瞬で理解してよ。
AdjustLineBreakesでCRLFに変換してからCRかLFを削除しているだけじゃん。
その方式の、どこで遅くなっているかを知ってるなんて事は
タンナル1知識。Tipsだよ。
func9,10が速いのは、配列とポインタの区別じゃなくて
(って、モット早くなるかもね)
ループ中に判定する条件判断が俺のは
見ている文字と次の文字がCRなのかLFなのかで
func2の見ている文字と次の文字と次の文字が文字列の最終かどうか
を判断するコードとはIFの数が違うんでないのかな?
あと、誰も突っ込みいれないからアレなんだけど
> ただーし!
> for i:=High(prog) downto Low(prog) do with prog[i] do begin
> 計測はレス10.9.8.7...の順で行ってるけど。(w
フサのよくわからない所でキャッシュが効いているようなので
for i:=Low(prog) to High(prog) do with prog[i] do begin
とすると、最速はfunc8だね。
タンナル1知識とか言ってしまったけど
とりあえず、いろいろやって下さった方>おーる
∧,, ∧
ミ。_。彡 ペコッ
〜ミ,,,U U,,ミ
めちゃ勉強にナタ。アリガトウ。
■ このスレッドは過去ログ倉庫に格納されています