Bveをサポートする自作のパッケージ、language-bveについて、コマンド入力によりビューを表示し、指定された駅名のキーへカーソルを移動させる機能を実装しました。
しかし、実装後Atomが起動するのにかなり時間がかかるようになってしまったため、timecopで起動時間を確認したところ、
上部のwindow load time
に関しては、開発者モードでAtomを実行していたので参考になりませんが、下部のPackage Activation
を見ると、みごとに自作のパッケージが足を引っ張ってました。
画像ではパッケージのアクティベーションに137msかかったと表示されていますが、たまに1000ms以上かかるときもあります。
駅名へ移動する機能を実装する前は、軒並み10ms前後だったのでそれが原因だと思いますが、詳しいことは分からず。
とりあえずの対応として、原因と思われる駅名ジャンプビューのインスタンス化処理を起動時ではなく、起動後任意のタイミングで行うように変更します。
この機能は、ファイルの編集中に利用するので、エディタが新しくインスタンス化された際に呼ばれる、observeTextEditors
イベントに移動。
これによって、駅名ジャンプビューは遅延読み込みされ、起動時の処理は早くなる…はず。
修正後にもう一度timecopをみて見ると
見事に起動時間が短縮されました。
また、エディタを開いた際も動作がもっさりすることなく動いてます。
結局この処理のどこが重たいのか分からずじまいでしたが、今はこれで良しとします。