說到文字編輯器,我用 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。 Python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 template = ''' #include <iostream> 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 看起來更好玩。
本文由 伯樂線上 - 劉唱 翻譯,黃利民 校稿
from: http://blog.jobbole.com/109756/