|
Vim 編輯器的創(chuàng)建者 Bram Moolenaar 最初開發(fā)了 Vim 以作為 Vi 編輯器的“增強(qiáng)版”,而現(xiàn)在,他希望通過一個(gè)名為 Vim9 的實(shí)驗(yàn)性分支對(duì) Vim 本身進(jìn)行改進(jìn)。 Bram Moolenaar 表示,Vim9 是 Vim 的一個(gè)實(shí)驗(yàn)性分支,旨在探索使 Vim 腳本更好且更快執(zhí)行的方式。這也是除“彈出窗口(Popup Windows)”和“文本屬性(Text Properties)”之外,開發(fā)者呼聲最大的功能需求。 為了能更快執(zhí)行 Vim 腳本,Bram 思考了很多并得出如下結(jié)論:當(dāng)前調(diào)用和執(zhí)行函數(shù)的方式(帶有用于參數(shù)和局部變量的字典)永遠(yuǎn)不會(huì)很快。 如果能夠使速度快兩倍,那么 Vim 的性能將會(huì)有明顯的改進(jìn)。畢竟調(diào)用和執(zhí)行每一行函數(shù)的開銷十分高。 Bram 認(rèn)為只有通過一種與舊方法類似但屬性不一樣的新方法來定義函數(shù)才能使速度變快:
對(duì)于上面的思路,Bram 提供了概念驗(yàn)證代碼。到目前為止,對(duì)于一個(gè)簡單的運(yùn)行循環(huán)的 Vim 腳本,Vim 需要五秒鐘的時(shí)間,Vim9 則可以在 0.07 秒內(nèi)運(yùn)行它,與 Lua 腳本的時(shí)間相同,并且比 Python 更快。 在更相關(guān)的代碼片段中,Vim9 可以在 0.19 秒內(nèi)運(yùn)行腳本,而 Vim 的時(shí)間是 0.85 秒。 關(guān)于 Vim9 的具體實(shí)現(xiàn)思路和細(xì)節(jié)請(qǐng)查看其 GitHub 倉庫,這些工作經(jīng)過驗(yàn)證有效后會(huì)被合并到 Vim 中。 |
|
|