サーバーのメインスレッドをさらに節約した版
- マップのレポートを「サーバーのそのtickの中で19.7万点のJSONを組み立てる」から「そのtickはデータを渡すだけで、組み立てはバックグラウンドスレッドで行う」に変更しました。Mod全体で唯一「1tickに数百ミリ秒」を起こしうる箇所で、30分に1回の偶発的なスパイクとちょうど対応します。
- ほかにも人数やエンティティ数に比例して膨らむ箇所をまとめて最適化しました。TABの数値整形はtick単位のキャッシュに、名前からのプレイヤー検索はtickごとに1回作る名前索引に、実績リストは項目ごとの文字列生成をやめ、30秒ごとに読んでいた設定ファイルとBANリストはバックグラウンドへ、チャットキューの長さ判定はカウンターに、ネットワークサンプリングは20秒ごとのスレッド生成をやめ、コマンドのスロットル表は増え続けないようにしました。レポート形式・フィールド名・値の取得時刻はすべて変更していません。