JaneNida Part17

このエントリーをはてなブックマークに追加
19koreawatcher ◆Nida.eneRA
>>8
高速Mergeのメリットは板を開くのが高速になることです。スレッド一覧の作成は、
板のフォルダにあるsubeject.txtの情報に*.idxの情報を合成することで行ないます。
大量のファイルがあるフォルダをエクスプローラで開くと非常に重くなることから分かるように
フォルダにどんなファイルが含まれているかの一覧を生成するだけでも結構な負荷がかか
ります。また、その中のファイルを一つ一つ読み込む作業はさらに負荷がかかってしまいます。
この複数のファイルを読むという作業の負荷を減らすために、情報をひとつのファイルにまとめる
という考えが高速Mergeです。
Janeの内部ではsubeject.txtに*.idxを合成することをMergeCache(キャッシュをマージする)
と呼んでいます。この作業を高速に行なうことから高速Mergeと呼ばれます。

デメリットはこのひとつにまとめられたファイル(Nidaではqmerge.db)に互換性が無いことです。
ただ、*.datと*.idxの互換性は依然として保たれています。*.idxの情報を取得したいときには
高速化のためにqmerge.dbのみにアクセスしますが、保存するときにはqmerge.dbと*.idxの
両方に情報を書き込みます。他のJaneが*.idxのみを更新するなどしてqmerge.dbが*.datの
最新の状態を反映していないことを俗に「ログが壊れる」と言います。Nidaでは「ボード
データの自動同期」をオンにしておくと、qmerge.dbが自動修復されます。(ただし重くなります)
*.datに関しては通常となんら変わりません。高速Mergeでログが壊れるとかログに互換性
が無いという表現は厳密に言えば間違いです。