記事閲覧

− 野ざらし言 −

5868 Re^19: N88-BASICのRENUMのようなマクロ

めざら 2025/05/19(Mon) 17:43 [5867]へのコメント
http://mezala.la.coocan.jp/
ログの修復については,過去ログに移ったツリーの中に4個所もヌルの混入等が見られたアーティクルがあったので,これをバックアップから書き戻しました。今のところ,その部分は大丈夫らしいことが確認できたので,そろそろ本腰を入れて直そうかと思います。実行時間帯は早朝かな。


> 990 10 15s 2m58s 25s 11s
> 10000 10 17s 3m12s 25s 10s

おお! これは素晴らしい成果ですね。新板はかなり速い。

で,多分……なんですけど,もう少し速くなりそうな気がします。

現行では,処理行番号の存在を確認するのに,必ず後方・前方の二度検索をしていますよね。
> #55 " " &?("%d",o) #m #r c+=r, #c c+=r, ;旧番存在確認

これ,まず実行する後方検索で存在が確認できたら,もう前方検索する必要はないですよね。
なんなら,一旦ファイルの先頭(または末尾)に移動しておいて前方(または後方)検索をすれば,検索は一度で済むかと思います。(1回目でマッチしたら,という条件分岐も面倒)

検索って,1バイトずつ文字列をなめてゆくわけだから,それなりに時間がかかる処理だと思いますが,ジャンプなら〈探す〉わけではないから速そうに思います。特に探している1文字目がそこらじゅうにある空白だし,2文字目も同じキャラクタである可能性がけっこう高いじゃないですか。それこそ「ふんどしの川流れ」的な状況かと。(まぁ,探している番号が存在しない場合は,結局,テキストを全部なめてしまうわけですけどね)

もうひとつは,行番号ジャンプとマークジャンプでどちらが速いのか。
どちらも検索ではないので,「つっかえつっかえ」はない訳ですが,VZ君はどのように行やマークを探しているのか。なかなか興味深いです。

関連記事一覧ツリー (▼ を押すとツリー全体を一括表示します)

- 5731.N88-BASICのRENUMのようなマクロ - としき 25/03/29-14:22

返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

おなまえ :
Eメール :
タイトル :
メッセージ: 通常モード(推奨)  整形モード(非推奨)  preモード(空白再現)
※ プログラムコード等を含まない場合は,できるだけ通常モードをご利用ください。

参照先 :
暗証キー: (英数字で8文字以内) プレビューなし


- 以下のフォームから自分の投稿記事を修正・削除することができます -

処理 記事No. 暗証キー