Bveをサポートする自作のパッケージ、language-bveについて、コマンド入力によりビューを表示し、指定された駅名のキーへカーソルを移動させる機能を実装しました。
しかし、実装後Atomが起動するのにかなり時間がかかるようになってしまったため、timecopで起動時間を確認したところ、

修正前のtimecop。もっさり
修正前のtimecop。もっさり

上部のwindow load timeに関しては、開発者モードでAtomを実行していたので参考になりませんが、下部のPackage Activationを見ると、みごとに自作のパッケージが足を引っ張ってました。
画像ではパッケージのアクティベーションに137msかかったと表示されていますが、たまに1000ms以上かかるときもあります。
駅名へ移動する機能を実装する前は、軒並み10ms前後だったのでそれが原因だと思いますが、詳しいことは分からず。

とりあえずの対応として、原因と思われる駅名ジャンプビューのインスタンス化処理を起動時ではなく、起動後任意のタイミングで行うように変更します。

この機能は、ファイルの編集中に利用するので、エディタが新しくインスタンス化された際に呼ばれる、observeTextEditorsイベントに移動。

これによって、駅名ジャンプビューは遅延読み込みされ、起動時の処理は早くなる…はず。

修正後にもう一度timecopをみて見ると

修正後のtimecop。サクサク
修正後のtimecop。サクサク

見事に起動時間が短縮されました。
また、エディタを開いた際も動作がもっさりすることなく動いてます。

結局この処理のどこが重たいのか分からずじまいでしたが、今はこれで良しとします。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA