RopeもといBigList+GapBufferでさくさくエディターの置き換え処理をやってみた。
使用したマシンはCore i7 14700、メモリー32GB、Intel ARC A750。
100万行×100文字を置き換え。
replace1は3文字削除の3文字挿入で、3.5秒ぐらいで終わる。
replace2は3文字削除の4文字挿入で、4.9秒ぐらいで終わる
replace3は4文字削除の3文字挿入で、3.6秒ぐらいで終わる。
enumratotionはNULデバイスへの保存で、1.1秒で終わる。
benchmark start
Allocated GC Memory:60,600bytes
Allocated GC Memory:199,388,824bytes
Allocated GC Memory:199,405,136bytes
Allocated GC Memory:368,390,560bytes
Allocated GC Memory:368,390,560bytes
Allocated GC Memory:368,390,736bytes
clear buffer
Allocated GC Memory:84,360bytes
100万行の行とインデックスの変換テーブルの追加と更新処理はこのくらいで終わる。
変換テーブルの処理は構築が0.2秒、行が増えない更新は0.1秒ぐらいで終わる。
Allocated GC Memory:32,805,312bytes
Allocated GC Memory:32,811,000bytes
clear buffer
Allocated GC Memory:84,616bytes
以下、ソースコード。
テキストエディタを高速化するためにある人が書いたBigListを改造して、リーフノードをリンクドリストでつないだら全列挙が早くなって、スタックオーバーフローしなくなった。 ただ、...
RopeもといBigListでさくさくエディターの置き換え処理をやってみた。 使用したマシンはCore i7 14700、メモリー32GB、Intel ARC A750。 100万行×100文字を置き換え。 addはバッファーの構...
ちなみに俺はIQ84の境界知能で、発達障害持ちなのだ。 言語性106~120、動作性は60ぐらいなのだ。 言語性の下位項目は正常で、単語が飛びぬけて高いのだ。 動作性の下位項目はほぼ正常で...
素直にすげーな 自力でよくやった おれも自力でAndrew Ng教授のコースとかとったけど微分からやり直す羽目になって大変だったわ 半年くらいやってた
BigList<T>の内部で使われているやつをGapBuffer<T>に置き換えてみたら、リーフノードのサイズが32768だと遅くなるけど、最大メモリー使用量はそこまで変わらんな。 ブロックサイ...