2016-11-24 8 views
2

私のEmacs(Windows 10 64ビット版のGNU Emacs 25.1.1(x86_64-w64-mingw32))は、特にOrg-modeでは、カーソルを移動するために2秒以上一時停止し、拡張されたツリーを表示するために3秒以上更新することができる。Emacsの診断:Org-modeはまれに遅く、しばしばストールします。

私のベンチマーク-initレポートに基づいて、自分の.emacsの内容をトリミングして、require文とload文を減らし、autoloadフックに変更したり、evalの後に読み込んだりすることで、

私はいくつかのプロファイラーレポートを完成させましたが、結果の一部が私に解釈するのが難しいようです(例えば、 'line-move-visual'はたくさんのメモリを使います)。下記のプロセスと、パフォーマンスを改善するための調整と変更の方法について説明します。以下は、profiler-report(mem + cpu)の部分的に拡張された出力です。約1500行の.orgファイルで作業しています。

(work.org at ~1500 lines) 
- command-execute           259,247,035 98% 
- call-interactively          259,247,035 98% 
    - funcall-interactively         259,142,758 98% 
    - previous-line          203,846,889 77% 
    - line-move           203,846,889 77% 
    - line-move-visual         92,655,384 35% 
     - posn-at-point           3,520 0% 
     file-remote-p           3,520 0% 
     window-inside-pixel-edges        12,844 0% 
    - org-cycle            46,120,698 17% 
    - org-cycle-internal-local        45,429,666 17% 
    - run-hook-with-args         45,176,010 17% 
     - org-optimize-window-after-visibility-change  41,890,667 15% 
     - org-subtree-end-visible-p       41,862,858 15% 
     - pos-visible-in-window-p       2,111,314 0% 
     - jit-lock-function         153,338 0% 
      - jit-lock-fontify-now        150,304 0% 
      - jit-lock--run-functions       135,144 0% 
      - run-hook-wrapped        135,144 0% 
      + #<compiled 0x2c09399>       135,144 0% 
      #<compiled 0x2cf3709>        15,160 0% 
      file-remote-p          18,898 0% 
     + eval             1,056 0% 
      org-end-of-subtree         1,056 0% 
     + recenter            21,840 0% 
     + org-cycle-hide-archived-subtrees      47,260 0% 
     org-cycle-show-empty-lines        9,232 0% 
     + org-cycle-hide-drawers         2,936 0% 
    + org-show-children          12,456 0% 
     outline-next-heading          5,120 0% 
    + org-show-entry           1,776 0% 
    + outline-flag-region          1,520 0% 
    + org-hide-block-toggle-maybe        114,356 0% 
    + run-hook-with-args-until-success       11,744 0% 
    + org-cycle-item-indentation        6,198 0% 
    + org-cycle-level           5,648 0% 
     org-at-table-p           5,312 0% 
    + execute-extended-command        8,947,699 3% 
    + next-line            227,472 0% 
    + byte-code             104,277 0% 
+ redisplay_internal (C function)       4,519,393 1% 
+ elscreen-run-screen-update-hook        17,698 0% 
    internal-timer-start-idle          8,137 0% 
+ timer-event-handler           2,000 0% 
+ eldoc-schedule-timer           1,056 0% 
    ...                0 0% 
+0

**新しいWindows用のEmacs 25.1の(速い)テストビルドと題したこの関連スレッドを参照してください**:https://www.reddit.com/r/emacs/comments/5drxs6/new_faster_testbuild_of_emacs_251_for_windows/?st=ivwrzcgk&sh= c742163f – lawlist

+0

私もそれをチェックする必要があります。私は現在、https://github.com/zklhp/emacs-w64でzklhpのビルドを使用しています。それはあまりにも悪くないと思っていました。 – menuhin

+0

私は過去にVincent GouletのEmacsパッケージバンドルを使用しましたが、Emacs 24からEmacs 25.1への「アップグレード」後にかなりのパフォーマンス上の問題が発生しました。ですから、私はzklhpによって64ビット版のものを試してみたかったのです。 – menuhin

答えて

2

議題を構築する場合は特に、これはあなたの問題に関連しているかどうかは知りませんが、私はまた、Windows上で非常に遅いorgmodeを持っていました。

私は私の大きなorgmodeファイルに追加する際に次の行が、私のためにそれを解決したことが判明:

#+STARTUP: showeverything 
+0

それほど助けにならない。ただし、-q org-modeを使用して起動すると、はるかに高速ですが、通常の起動時に実際にアクティブなマイナーモードが追加されるのは、これら2つ(オートフィル機能のツールバーモード)だけです。これらの2つのモードがパフォーマンスをどれだけ低下させるかは、困惑しています。パフォーマンスに影響を及ぼす要因や隠しモードが増えるのでしょうか? – menuhin

5

私はおそらくにおける組織モードの低迷の主な理由であるパッケージを見つけました私のEmacs。

2年以上更新されていないのは「org-bullets」パッケージです。

私の.emacsファイルの 'require'ステートメントとそれに続くすべての関連設定を削除することで、EmacsのOrg-modeが応答可能な状態に戻ります。

+0

良いキャッチ。 org-bulletsは、私の8000+エントリorg_archiveファイルの読み込み時間の大きな要因です。他の大きな要因は、8000+のプロパティー・ドロワーの存在です。 org-bulletsを無効にし、すべてのPROPERTIES/ENDペアを削除すると(実際のプロパティ行を残して)、大きなファイルが即座に読み込まれます。 –

関連する問題