我看到的性能差别很大,这取决于我要访问的文件中有多少个换行符。
这是一个例子。我有两个JSON文件:
$ wget https://github.com/Wilfred/ReVo-utilities/blob/a4bdc40dd2656c496defc461fc19c403c8306d9f/revo-export/dictionary.json?raw=true -O one_line.json
$ python -m json.tool <one_line.json >pretty_printed.json
这是两个具有相同内容的JSON文件。one_line.json
是JSON的18MiB,没有任何换行符。pretty_printed.json
添加了换行符和空格,使其成为41MiB。
但是,在Emacs中以Javascript模式和Fundamental模式打开时,分成多行的较大文件的速度要快得多。
为什么Emacs的行数这么少,但实际上它的字节数却少呢?在不重新格式化Emacs外部数据的格式的情况下,我能做些什么来提高性能?
$ tail -f /some/file | fold -s
在shell缓冲区中做类似的事情。显然,这不利于编辑,但对阅读有很大帮助。
View Large Files
(vlf)是次要模式,旨在通过批量加载来帮助编辑大型文件。免责声明:我从未使用过它,也不知道它是否也可以批量处理长行。