Emacs 诊断:Org 模式速度慢得难以忍受并且经常停止

2024-01-12

我的 Emacs(Windows 10 64 位下的 GNU Emacs 25.1.1 (x86_64-w64-mingw32))变得异常缓慢且不稳定,尤其是在 Org 模式下,例如可能会暂停 2 秒以上来移动光标,并暂停 3 秒以上来刷新以显示展开的树。

根据我的 benchmark-init 报告,我通过修剪 .emacs 中的内容来减少 require 和 load 语句,将它们更改为 autoload hook 或 load after eval,从而缩小了规模。

我还完成了一些分析器报告,其中一些结果对我来说看起来很难解释(例如“line-move-visual”使用大量内存),并且我不知道下面的一些过程是由什么打包的如何调整和更改以提高性能。下面是分析器报告 (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%

我发现这个包可能是我的 Emacs 中 Org 模式速度变慢的主要原因。

这是“org-bullets”包已经两年多没有更新了。

通过删除 .emacs 文件中的“require”语句和所有后续相关设置,我的 Emacs 中的 Org 模式将恢复到具有可用响应能力的状态。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Emacs 诊断:Org 模式速度慢得难以忍受并且经常停止 的相关文章

  • 使用 numpy 加速 for 循环

    下一个 for 循环如何使用 numpy 获得加速 我想这里可以使用一些奇特的索引技巧 但我不知道是哪一个 这里可以使用 einsum 吗 a 0 for i in range len b a numpy mean C d e f b i
  • Emacs 和 Anaconda。链接问题

    我有一个问题 为了运行Anaconda https store continuum io cshop anaconda 我需要unset LD LIBRARY PATH 为了运行 Emacs 以及其他程序 我需要set LD LIBRARY
  • 优化算术编码器

    我正在优化名为的 C 库的编码步骤PackJPG http www elektronik htw aalen de packjpg 我使用 Intel VTune 对代码进行了分析 发现当前的瓶颈是 PackJPG 使用的算术编码器中的以下
  • 为什么我的 CAOpenGLLayer 更新速度比之前的 NSOpenGLView 慢?

    我有一个在 Mac OS X 上渲染 OpenGL 内容的应用程序 最初它渲染到 NSOpenGLView 然后我将其更改为渲染到 CAOpenGLLayer 子类 当我这样做时 我看到了巨大的性能损失 帧速率减半 鼠标响应能力降低 卡顿
  • Emacs org-mode:使用 goto 界面重新归档

    我经常使用组织模式的捕获 重新文件 归档结构 但我对重新归档的工作方式有疑问 我使用 IDO 补全 这样当我重新归档树时C c C w我将所有可能的树重新归档到迷你缓冲区中 然而 这会导致大量可能的补全 而这些补全实际上可读性不太好 如果您
  • Linq to object:内部查询性能

    在回答其中一项时问题 https stackoverflow com questions 46501476 using linq and lambdas to search dictionaryclassliststruct data 46
  • MySQL max_allowed_pa​​cket 参数有什么问题?

    我需要增加 max allowed pa cket 参数 以适应一些理论上非常大的项目 如果我将此参数设置为 10M 那么与设置为 1M 或 4M 相比 我要支付什么价格 如果有的话 感谢您的任何意见 托马斯 我找到了这个解释 http w
  • 为什么 istream/ostream 慢

    于 50 40http channel9 msdn com Events GoingNative 2013 Writing Quick Code in Cpp Quickly http channel9 msdn com Events Go
  • C# 代码在 IIS 上运行速度快,但在 Mono 上运行速度慢 - 如何改进?

    我有一个 ASP NET 应用程序 它在我的 Windows 开发计算机上运行良好 不过 服务器是运行 Mono 的 Linux 一旦上传 相同的代码在 Windows 上的运行速度会比在 Windows 机器上慢 4 到 5 倍 例如 一
  • 在Python中将大文件(25k条目)加载到dict中很慢?

    我有一个大约有 25000 行的文件 它是 s19 格式的文件 每行就像 S214780010 00802000000010000000000A508CC78C 像这样的事情怎么样 我做了一个测试文件 只有一行S21478001000802
  • 是否可以/容易确定程序使用了多少电量?

    是否可以确定甚至合理估计程序使用了多少电量 这个想法是根据功耗而不是典型性能来分析我的代码 测量 CPU 使用率 GPU 使用率和内存访问量是否足够 有很多方面会影响应用程序的功耗 并且根据所使用的硬件的不同 这些方面会有很大差异 获得想法
  • 什么比 std::pow 更快?

    我的程序 90 的 CPU 时间都花在std pow double int 功能 准确性不是这里的主要问题 所以我想知道是否有更快的替代方案 我正在考虑尝试的一件事是强制转换为浮动 执行操作然后返回到双精度 尚未尝试过 我担心这不是一种提高
  • 如何以最佳方式计算 python 列表中的元素数量

    这几乎是同一个问题here https stackoverflow com questions 3710976 counting unique elements in a list 除了我要询问排序结果的最有效解决方案 我有一个列表 大约
  • Mac OS X 中每个进程的磁盘读/写统计信息

    如何在 Mac OS X 中以编程方式获取每个进程的磁盘 I O 统计信息 在 活动监视器 应用程序或 top 命令中 我们只能获取整个系统磁盘 I O 统计信息 以供参考PC 上也有类似的问题 https stackoverflow co
  • AngularJS 与(Angular JS + jQuery)

    我有一个关于仅使用 AngularJS 和纯 JavaScript 以及使用 AngularJS 和 jQuery 时的性能问题 ex app directive fitHeight function window return restr
  • 如何将位对从 uint64_t 解压缩到 __m256i?

    考虑uint64 t其中每连续 2 位都是一个数字 b00 for 0 b01 for 1 b11 for 1 and b10未使用 永远不会发生 假设没有对其进行处理 如何解压这样的uint64 t into m256i以便原始数字中的位
  • Emacs cperl - 常量块中的缩进

    我正在运行基于 GNU Emacs 24 3 50 2 的 Aquamacs 3 0a cperl 版本是 6 2 当我编辑 Perl 常量块时 我得到了我不想要的额外缩进 use constant ONE gt 1 TWO gt 2 TH
  • 在 Actionscript-3 中优化 2D Flash 游戏的动态背景引擎

    编辑2 根据缺乏回复来判断 我开始怀疑我的问题是否足够清楚 请告诉我是否需要详细说明 注意 请参阅底部以获取代码更新 简短介绍 我正在用 ActionScript 编写一个二维 Flash 空间游戏 宇宙无限大 由于这个特性 背景必须动态渲
  • 原始数组的现代 for 循环

    原始数组上的 for 循环之间有性能差异吗 Assume double doubleArray new double 300000 for double var doubleArray someComplexCalculation var
  • numpy 中用最少内存对上三角元素求和的最快方法

    我需要进行此类求和i

随机推荐