<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Atom on Hackers Log</title><link>https://hackerslog.net/tags/atom/</link><description>Recent content in Atom on Hackers Log</description><generator>Hugo -- gohugo.io</generator><language>ja</language><lastBuildDate>Sun, 26 Jun 2016 06:26:08 +0900</lastBuildDate><atom:link href="https://hackerslog.net/tags/atom/index.xml" rel="self" type="application/rss+xml"/><item><title>Atomの起動速度がべらぼうに遅い原因を調査してみた</title><link>https://hackerslog.net/posts/2016-06-26-investigation-of-slow-cause-of-the-atom/</link><pubDate>Sun, 26 Jun 2016 06:26:08 +0900</pubDate><guid>https://hackerslog.net/posts/2016-06-26-investigation-of-slow-cause-of-the-atom/</guid><description>※ 2016/6/26 編集: 文章が単調だったので、記事を書いた背景を追加した上で校正しました 自分のお気に入りのエディターはAtomです。 私は、「オープンソース大好き人間」なので、なんでもオープンソースでないと気がすみません！ 市販のやつも確かにいいけれど、不良動作のエラーがあったとき、 どんなことが起こっているのかを確認したい時もあるんです
それに、自分でカスタマイズできるのがいいですね！気に入ったプラグインがあれば、 それを入れるだけでどんどん機能を追加して、自分の使いやすいようにできますし！
ただ、AtomはNodeエンジンとJavascriptで書かれたエディタなので、 バイナリで動くエディタと比べて、動作が遅いです&amp;hellip;
それに加えて、メモリをバカみたいに食うのが、このエディタの残念なところ。
1.57GBかぁ&amp;hellip; ちょっと、多すぎますね
今回の主題 今回は、このAtomくんを対象にして、どこがボトルネックになっているのか、その原因を調査します。 原因が簡単であれば、C++で書き直したりして、解決します。 その前に、Atomの特徴を&amp;hellip; その前に、初めてこの記事を見に来た人に、Atomとは何かをざっくりと説明したいと思います。(知っている人は、読み飛ばしてもらって大丈夫です！)
Atomには、次のような特徴があります。
オープンソースである プラグインがcoffeescript(javascript)なので、作りやすい 見た目が綺麗 プロジェクトごとに管理できる。 設定を複数のコンピュータで同期できる Linuxでも動く、マルチぷらっとフォーム 設定方法がわかりやすい Atomは沢山のプラグインの集まりであること ですが、メモリーの使用量がとても大きく、起動時間がべらぼうに遅い&amp;hellip;.
といった欠点もあります。
そこで、この起動を遅くしている原因はなんなのかの原因を調査しました！ 結果、まだ原因にはたどり着くことはできませんでした。
しかし、原因の解決策の１つとして、C++で書き直すという手があります。
起動時間の調査 Atomには、たくさんの機能が詰め込まれているので、 まずは、なにが遅いのかがわからなければ手の打ちようがありません！
そこで、どのプラグインにどれだけの時間がかかっているのかを確認しましょう！
まず、Macの場合、次のような操作をすることで、確認できます。
「shift-command-p」を同時に押して、コンソールを立ち上げます。 テキストエリアに、「timecop」と入力します。 「Enter」を押します。 windowsの場合は&amp;hellip; 自分で調べてくれると助かります。
自分の環境では、起動に「3243ms」かかっていることがわかりました。 起動に時間がかっているプラグインが順に表示されています。
「Emmet」が１秒以上もかかっていることがわかりました。(これをなんとかしたい&amp;hellip;) ですので、「Emmet」が遅い原因は何で、それを改善する方法はないか探しました。
Emmetの調査 EmmetはHTMLやCSSを爆速で書くためのプラグインです。
ですので、自分の環境では欠かせません。
Emmetのリポジトリはこちらです。
https://github.com/emmetio/emmet https://github.com/emmetio/emmet-atom emmetの方は、プラグインのコアです。
それを、atom用にラップしたのが、emmet-atomです。
ですので、emmetのコアの方を調査することにしました。
と思いましたが、実際に高速化、省メモリー化する手段がなければどうしようもありません。 まずは、どのように高速化をするべきかを検討することにしました。</description></item></channel></rss>