今天,我們發布了 EmEditor v22.5.0。
我最近購買了一臺配備第 13 代英特爾酷睿 i7-13700 的電腦。 自第 12 代酷睿處理器推出以來,英特爾推出了混合架構,將 P 核與 E 核相結合以提高性能和效率。 這種新架構很有趣,因為 P 核的運行速度比 E 核更快。 EmEditor 的所有先前版本都假定所有執行緒以相同的速度運行。 如果 P-Core 執行緒的運行速度比 E-Core 執行緒快,則 P-Core 執行緒比 E-Core 執行緒更早完成任務,並且需要等待 E-Core 執行緒完成任務。 需要澄清的是,即使沒有 E 核和 P 核,執行緒速度也可能會波動; 例如,如果一個執行緒被後臺應用程式或系統進程中斷,則該執行緒將變得比其他執行緒慢。 然而,P 核心和 E 核心的存在可能會加劇這種情況。
為了克服這種情況,我優化了程式碼,以便 v22.5 能夠動態管理執行緒負載平衡。 以下截圖顯示了在非常大的檔案中搜索規則運算式時優化前後的 CPU 使用情況。 優化後任務結束時整體 CPU 使用率突然下降。
在開發 v22.5 時,我們花費了大部分時間來優化程式碼,以使用各種技術(包括多執行緒)提高許多命令的速度。 例如,通過多執行緒,複製命令的速度提高了 1.49 倍。 在重構和優化的同時,我有機會審查程式碼。 如果 CPU 不支援 AVX-512 指令集,舊版本就不會啟用 SHA 指令集。 v22.5 修復了此錯誤並在許多不支援 AVX-512 的 CPU 上提高了多個命令的速度,例如刪除重複行。 我將在未來的版本中繼續審查和優化程式碼以提高速度。
當我第一次在我的新 PC 上用 Visual C++ 構建程式碼時,我很失望地發現構建速度非常慢。 我們發現,在構建程式碼時,記憶體使用率達到了 100%,因為只有 16 GB 的實體記憶體 (RAM) 可用。 CPU 有 24 個邏輯核心,Visual C++ 使用 24 個執行緒來構建程式碼。 在 Visual C++ 選項中將執行緒數從 24 調整為 7,編譯器構建程式碼的速度變得更快。 同樣,與使用 3 個執行緒相比,使用 24 個執行緒時 EmEditor 速度更慢。 將實體記憶體從 16 GB 增加到 80 GB 使兩個應用程式在 24 個執行緒下速度更快。 因此,如果您使用的是具有大量邏輯核心的現代 CPU,我強烈建議您增加實體記憶體。 例如,如果您的 CPU 有 24 個邏輯核心,我建議您的 PC 至少配備 32 GB 實體記憶體。 如果沒有足夠的記憶體,您可能需要調整執行緒數,可以在 EmEditor 的「自訂」對話方塊的「進階」頁面上指定執行緒數。 在 v22.5 中,如果邏輯核心數量超過此 GB 值,EmEditor 會預設將執行緒數調整為最接近的 GB 實體記憶體量。
一個使用者要求改進檔案變更檢測功能。 舊版本預設每 5 秒檢查一次目前的檔案大小和時間戳,如果確定檔案已變更,則會出現消息方塊「檔案已被另一個程式變更。重新加載變更?」。 v22.5 使用 Windows API 更有效地檢測檔案變更。
另一位使用者要求能夠單擊行號的左邊緣來切換書籤。 對於舊版本,您必須選擇切換書籤命令或按 CTRL + F2 來切換書籤。 我知道單擊行號會更容易,並且在文字編輯器中有些標準,因此如果行號可見,我添加了此功能。
Makoto Emura 添加了對搜索符號命令使用語言伺服器協議的功能以及使用 JSON 語言伺服器的功能。 他還改進了 CommitList 外掛程式,為拉取和推送按鈕添加了提前/滯後提交的標記。
我們將在不久的將來停止支持 Windows 7、8.1 和 Server 2008 R2。 Microsoft 已停止支持這些版本的 Windows。 出於安全原因,強烈建議不要使用這些舊版本的 Windows。 我們還將停止開發 32 位版本的 EmEditor。 我們希望將開發和測試資源集中在 64 位版本的 EmEditor 上。
由於我們希望更多人使用 EmEditor,因此我們將 EmEditor 的價格保持在盡可能低的水平。 自從我們開始提供年訂閱授權以來,年訂閱的第一年價格為 40 美元(之前為 39.99 美元),變化沒有超過 1 美分。 但是,我們不容忍非法使用 EmEditor Professional。 我見過一些網站出售或贈送 EmEditor Professional 的「破解」金鑰。 這些都是非法網站,我們不支援從這些網站獲取的金鑰。 即使使用者沒有有效的授權,我有時也會收到有關 EmEditor Professional 的技術問題。 我們想把時間和資源集中在已購買有效授權的使用者上。 為了繼續開發 EmEditor 並保護我們的付費使用者,我們將添加程式碼來檢查授權的真實性。 如果授權無效,EmEditor 將停止工作。 此檢查可能不會在您啟動 EmEditor 時立即發生,也可能不會在每次啟動 EmEditor 時發生。 由於此程式碼的性質和目的,我們不會透露有關其工作原理的詳細信息。 但是,添加的程式碼不會傳輸任何個人信息,並且不會阻止您在沒有 Internet 串連的情況下使用 EmEditor。 保護我們的軟體以及已購買有效授權的使用者非常重要。 我希望您能理解。 另請參閱如何計算授權數以檢查您是否有足夠的授權數。
我們將在另外的文章中宣布我們的授權價格更新和永久授權的銷售。
最後,希望您喜歡 EmEditor,無論您使用的是專業版還是免費版。如果您有任何問題、功能請求或想法,請聯繫我們或在論壇中留言。)
感謝您使用 EmEditor!
— Yutaka Emura
詳細信息和屏幕截圖,請參閱 EmEditor v22.5 新增功能。
此次發布還包括了開發 v22.5 時的所有錯誤修復。
如果您使用的是桌面安裝程式版,那您可以到說明功能表下選擇檢查更新來下載最新版本。 如果此方法失敗,請下載最新版本,並運行下載的安裝程式。 如果您使用的是桌面可攜式版,則可以轉到下載頁面下載最新版本。市集應用版可以在幾天後通過 Microsoft 市集更新( 64 位 / 32 位)。如果您使用 winget,您可以輸入 “winget install emeditor” 來安裝最新版本的 EmEditor(自動檢測 64 位或 32 位)。