“PATH 应该是一个系统调用。”

主要观点:

  • 展示了 Emacs 启动加载 Lisp 文件时查找路径的过程,其load-path变量中有 59 个可能的位置需逐个检查,还需检查是否压缩等。
  • 提到 Linux 上的bash也有类似在PATH列表中查找文件的操作,列表较短。
  • 指出 Python 比前两者稍聪明,直接列出目录并可能通过缓存机制快速找到模块。
  • 认为“在一组可能的目录中尝试查找一组可能的文件”是常见操作且未被所有人优化。
  • 提出一种更好的方式,即给操作系统提供可能的文件列表和可能的位置列表,可减少系统调用和网络往返次数,AS/400 库也在解决类似问题,Postgres 能很好地解决此问题,疑问操作系统或文件系统能否快速高效地为你完成此操作。

关键信息:

  • Emacs 启动加载需找文件及相关操作细节。
  • bashPATH中查找文件的示例。
  • Python 查找模块的方式。
  • 提出的更好解决方式及相关举例。

重要细节:

  • Emacs 的load-path变量有 59 个元素。
  • bash查找文件时的一系列系统调用及结果。
  • Python 查找模块时对不同文件的尝试及目录列出。
  • AS/400 库解决类似问题及相关图片。
  • 提及可能有关于 Postgres 解决此问题的博客文章。
阅读 10
0 条评论