2008-12-04 47 views
3

我有以下简单的elisp函数;第一个从当前段落中删除填充断点,第二个循环通过当前文档依次将第一个段落应用于每个段落,实际上是从文档中删除所有单行换行符。它使用emacs 22.3(对于600页的Thomas Aquinas为10秒)运行在我的低规格Puppy Linux机器上,但是当我使用emacs 21.3转到功能强大的Windows XP机器时,执行同一文档需要将近一个小时。我能做些什么使它在emacs 21.3的Windows机器上运行?在Windows和Linux上的Elisp性能

(defun remove-line-breaks() 
    "Remove line endings in a paragraph." 
    (interactive) 
    (let ((fill-column 90002000)) 
    (fill-paragraph nil))) 

(defun remove-all-line-breaks() 
    "Remove all single line-breaks in a document" 
    (interactive) 
    (while (not (= (point) (buffer-end 1))) 
     (remove-line-breaks) 
     (next-line 1))) 

请原谅我的elisp的差;我非常开心学习Lisp并开始使用emacs的强大功能,但我还是很陌生。

回答

3

作为第一次尝试,您应该下载并安装Emacs 22.3 for Windows盒子,然后比较速度。

升级后速度差别不应该那么大。

+0

大的下载,慢速连接 - 我正在努力,但。 – JasonFruit 2008-12-04 16:36:51

+0

三秒钟。尼斯。 – JasonFruit 2008-12-04 17:05:00

0

也许这是你分配给填充列的巨大价值(他们建议少于80)。