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

说到文本编辑器,我用 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 的速度要更快。所以我想做一个小测试,看看这几种编辑器的性能差异。

编辑器版本

Editor Version
Sublime Text 3 beta, build 3126
Atom 1.12.7
Visual Studio Code 1.8.1
TextEdit 1.12 (329)

方法

用于测试硬件: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。

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 看起来更好玩。

打赏支持我翻译更多好文章,谢谢!

打赏译者

打赏支持我翻译更多好文章,谢谢!

2 4 收藏 15 评论

关于作者:刘唱

数据挖掘研究生 个人主页 · 我的文章 · 23 ·    

相关文章

可能感兴趣的话题



直接登录
最新评论
  • evolighting master 01/10

    我用vscode,因为买不起 Sublime Text;

    免费试用是一回事,但是本质上来说,授权上有问题。

    atom和vscode比起来,还是vscode好

  • PunCha 程序员 01/10

    VSC是完全免费的,SubLime个人免费商用收费

  • 半壶老酒 学生 01/10

    我也用sublime text,很好用。

  • wenmin92 码农 01/10

    速度是一方面,其他体验上也有差别,还是看个人喜好了。

  • 诸葛不亮 Qt/C++程序员 01/10

    建议作者加入滚动响应和编辑响应的测试,比如开一个大文件,先滚动到后1/3,然后在里面增删文本。

    另外,建议加入Notepad++和UltraEdit的对比,这两个也是很常用的文本编辑器,虽然后者是收费软件。

    前阵子玩P社的维多利亚2,想改存档,它的存档文件是几百万行,几十M的json文件,用了一些常用的文本编辑器,结果和作者的差不多,比如atom崩溃之类的。

    还试过用ide开,QtCreator处理不了,vs能开但是非常卡。

    Notepad++打开速度不错,但是编辑起来也是奇卡。

    最后下了个UltraEdit尝试,结果全程丝般顺滑,处理大文件和小文件几乎无区别(包括滚动浏览、增加删除)

  • kanaz   01/11

    atom明确说了不支持大文件打开(2M)  使用肯定是sublime最快 毕竟c++么

    编辑器比较的metrics应该是功能和扩展吧  比较打开时间感觉很鸡肋 程序启动差1s完全可以接受啊

  • 五毒少爷   01/11

    atom打开是慢,但是sublime 其实也不快,倒觉得notepad++和UE快多了

  • midle110   01/12

    对于十万行测试百万行测试没什么意思。你们会去编写一个十几万行的文件 ?

  • zhou 程序员 01/12

    这测试完全没有意义,用途不一样,比较个毛线啊!

    使用IDE和文本编辑器比较,结果都不用想了!

     

  • 码农狗 码工 02/12

    看了文章, 总想“把作者批判一番”(笑)

    光讲性能不谈功能有啥用.

    语法着色,代码提示这些也加进指标,最后来个综合对比才有意义啊.

    现在的电脑硬件也相对便宜了, 不需要过于在意性能开销.

    极端大文件好像也没啥意义, 因为一般情况下没有人会直接用文本编辑器去打开.

    只要不出现卡住几秒钟的程度, 有点动画效果还是可以接受的.

跳到底部
返回顶部