Skip to content

TERATERM.INI ファイル保存待ち時間を短くする #1533

Description

@tomo3136a

提案となります。

設定の保存(Save setup...)は、待ち時間が長いです。
前々から時間がかかっていましたが、バージョンを重ねるごとに長くなっています。

ゆびおりの簡易確認ですが、自分の環境では、以下でした。

version wait
4.84 3秒
4.108 4秒
5.1 4.5秒
5.2 4.5秒
5.3 5秒
5.4.0 5秒
5.5.0 5秒
5.6.1 6秒
5.7.0 6秒

設定の保存のどの処理で時間がかかっているかというと ttpset\ttset.c の _WriteIniFile() 関数になります。

_WriteIniFile() 関数では、WritePrivateProfileString() を設定項目すべてに対して行っています。
この操作が積もりに積もって待ち時間を長くしています。
バージョンを重ねるごとに機能追加により項目が増えていくため、当然といえば当然です。

設定の読み込み(Restore setup...) は、保存と違い、一瞬で処理が終わるため、待ち時間は気になりません。

そこで緩和策として以下を考えました。

通常は、数点の設定項目の書き換えだけでよいはずです。
各項目ごとの WritePrivateProfileString() を行う前に TERATEM.INI ファイルの内容を読み出し、
値が書き込み値と同じなら書き込みを行わないようにすることで時間のかかる処理を大幅に減らします。

実験してみたところ保存は一瞬で終わり、持ち時間は無くなります。問題が解消します。
細かいチェックはできていませんが、それほど難しい変更をしてはいないので使えそうです。

いかがでしょうか。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions