Emacs 在 macOS 上的内存泄漏之谜
2025-07-31
作者长期以来受困于 Emacs 在 macOS 系统上的性能问题:内存占用不断飙升,最终导致程序冻结。经过一番排查,他发现问题根源在于 `[NSApp run]` 的调用方式,这会导致大量的内存分配和释放,尤其是在高性能硬件和高 DPI 显示器上,问题更加严重。macOS 系统的事件处理机制以及 Emacs 高效的资源管理相互作用,导致一些无用的资源缓存,最终导致内存泄漏。虽然彻底修复困难,但作者提出了一种可能的方案:使用 Swift 重写 macOS 特定的代码,以利用其更有效的内存管理和异步支持来改善 Emacs 在 macOS 上的性能。
开发