EmEditor v22.5.0 发布(含技术评论)!

今天,我们发布了 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 位)。