专栏名称: Python开发者
人生苦短,我用 Python。伯乐在线旗下账号「Python开发者」分享 Python 相关的技术文章、工具资源、精选课程、热点资讯等。
目录
相关文章推荐
Python爱好者社区  ·  商汤科技,爆了。。。 ·  2 天前  
Python开发者  ·  Python即将成为TIOBE ... ·  3 天前  
Python爱好者社区  ·  “太瘦了,学校给我发钱了,泪目” ·  3 天前  
Python爱好者社区  ·  太炸裂了!Kimi又上新了“福尔摩斯” ·  4 天前  
Python爱好者社区  ·  42岁,讲师,因为评职称郁郁寡欢,吃了半年的 ... ·  6 天前  
51好读  ›  专栏  ›  Python开发者

编辑器性能测试:Atom 、VS Code、Sublime Text

Python开发者  · 公众号  · Python  · 2017-01-10 20:36

正文

(点击上方蓝字,快速关注我们)


译文:伯乐在线专栏作者 - 刘唱

英文:xinhong

如有好文章投稿,请点击 → 这里了解详情

如需转载,发送「转载」二字查看说明


说到文本编辑器,我用 Sublime Text 已经差不多有三年了,也一直没遇到什么问题。在一两年前,我尝试过用 Atom,其活跃的社区 (GitHub!我超爱GitHub) 留给我很深刻的印象。Atom 的 UI 设计尤其吸引我,但我仍然坚持使用 Sublime Text 的原因就是因为性能问题:即使在 Atom 1.0 版本发布之后,Atom 还是太慢了。


这几天,我在 Google 上搜索 “Sublime Text vs Atom 2016” 的文章,想看看 Atom 有没有什么显著的改善。然后我就看到了 Visual Studio Code。VS Code 也和 Atom 一样,是使用 Web 技术创建的,但有评论人说 VS Code 的速度要更快。所以我想做一个小测试,看看这几种编辑器的性能差异。


编辑器版本




方法


用于测试硬件:MacBook Pro 2016 13-inch 带 Touch Bar, (2.9 GHz Intel Core i5 CPU, 8GB 2133 MHz LPDDR3 RAM, 运行macOS Sierra 10.12.2)。所有可见的程序都关闭了。使用 macOS 自带的TextEdit 作为参照。


Launch Time 启动时间


每种编辑器都是从 Dock 中以点击图标的方式启动的。我记录了从点击图标到第一个窗口完全加载的这个过程的时长。


Window Open Time 窗口打开的时间


首先启动每种编辑器,随后关闭所有窗口。我记录了从 Dock 菜单(或其他等价菜单)点击“新窗口”到第一个窗口完全加载的时长。


Files Open Time 打开文件的时间


首先启动每种编辑器,打开一个窗口。将一个文件从 Finder 拖拽到编辑器的窗口中。我记录了从释放文件到文件完全加载的时长。


Files Generating 文件生成


使用下面这段 Python 脚本分别生成包含 1万行、100万行、1 百万行和 1 千万行文字的四个文件,文件大小分别是 370KB、3.7MB、37MB 和 370MB。


template = '''

 

#include

 

int main() {

    return 0;

}

 

/*

%s

*/

'''

 

string = 'abcdefghijklmnopqrstuvwxyz1234567890n'

 

with open('test-10k.cpp', 'w') as f:

    f.write(template % (string * 10000,))

 

with open('test-100k.cpp', 'w') as f:

    f.write(template % (string * 100000,))

 

with open('test-1m.cpp', 'w') as f:

    f.write(template % (string * 1000000,))

 

with open('test-10m.cpp', 'w') as f:

    f.write(template % (string * 10000000,))


Files Open Time 文件打开时间


首先打开每种编辑器,加载一个文件。我使用活动监视器 (Activity Monitor) 将所有进程占用的内存加在一起。这个过程中使用的文件是 “文件打开时间” 测试中大小为 370KB 的那个文件。


结果


启动时间(单位:秒)



注:


  • TextEdit 在启动的时候并没有打开编辑窗口,而是打开了一个选择文件的窗口。


窗口打开时间(单位:秒)


注:


  • TextEdit 打开窗口的时候有一个弹出的动画,这会拖慢一点点时间


文件打开的时间(单位:秒)


注:


  • Atom 打不开“1百万行”的文件,在大约 40 秒后会报告“崩溃”。

  • Visual Studio Code 不允许我打开 “1千万行” 的文件,会报 “文件过大”

  • Atom 在打开 “10万行” 的文件时不能保持语法高亮。

  • Visual Studio Code在打开 “1百万行” 的文件时不能保持语法高亮。

  • TextEdit 没有语法高亮功能。

  • TextEdit 在打开文件时有一个弹出动画,会拖慢一点点时间。


内存使用情况(单位:MB)


结论


Atom 和 VS Code 的表现相比于 Sublime Text 和 TextEdit 要明显差一些:启动和打开窗口的时间很明显地会慢几秒钟,而且会占用更多的内存。


在打开文件和 RAM 使用这些方面,Visual Studio Code 要优于 Atom,它能处理更大的文件,而且速度比 Atom 更快。在我测试 3.7MB 的这个文件时,Visual Studio Code 可以在一秒内打开,但是 Atom 要用超过两秒的时间。


Sublime Text 仍然是速度之王,Visual Studio Code 排第二,Atom 倒数第一。


题外话:从这个月开始,我要用 Visual Studio Code 来代替 Sublime Text了,Visual Studio Code 看起来更好玩。


觉得本文对你有帮助?请分享给更多人

关注「程序员的那些事」,编程不再枯燥

↓↓↓

译者简介点击 → 加入专栏作者 )


刘唱:数据挖掘研究生

打赏支持译者翻译出出更多好文章,谢谢