.NET 10 的正则性能现在什么水平?我拿它和 Go、Python、C++、PCRE2 测了一轮
所以我没有试图“复现原文结果”。原文数据不公开就没法严肃复现。我这里做的是另一件事用公开、确定性的规则合成一份数据然后把所有代码放出来让别人可以重新跑。数据生成脚本在仓库里规则很简单生成约 1GB 的文本文件每行是一个 JSON string literalJSON string 里面再放一个紧凑 JSON object每 20 行放一条TSLA也就是大约 5% 命中固定随机种子确保别人生成出来的数据一致实际这次生成的数据是bytes: 1,073,741,855 lines: 4,624,532 expected matches: 231,227 pattern: \TSLA.*?\ seed: 20260702所有实现都先把文件读进内存然后只统计内存中扫描匹配的时间。读取时间也记录了但不参与排序。测了哪些实现这次一共测了 10 个case说明MSVCstd::regexVisual Studio 18 / MSVC STLMinGWstd::regexGCC 16.1.0 / libstdcPCRE2vcpkg PCRE2 10.47PCRE2 JIT显式pcre2_jit_matchPythonrePython 3.12.4GoregexpGo 1.26.2.NET Regex普通Regex构造一次复用.NET CompiledRegexOptions.Compiled构造一次复用.NET GeneratedRegexsource generator 生成的正则.NET NonBacktrackingRegexOptions.NonBacktracking这里有个小点要说明普通new Regex(...)不是每行都 new 一次而是构造一次后复用。每行都 new 那属于测错误用法不是正常业务热路径。.NET 这边大概是这样private const string Pattern \\\TSLA.*?\\\; private static readonly Regex PlainRegex new(Pattern, RegexOptions.CultureInvariant); private static readonly Regex CompiledRegex new(Pattern, RegexOptions.CultureInvariant | RegexOptions.Compiled); private static readonly Regex NonBacktrackingRegex new(Pattern, RegexOptions.CultureInvariant | RegexOptions.NonBacktracking); [GeneratedRegex(Pattern, RegexOptions.CultureInvariant)] private static partial Regex InfoLineRegex();核心循环也没什么花活private static long MatchLines(string[] lines, Regex regex) { long matches 0; foreach (var line in lines) { if (regex.IsMatch(line)) { matches; } } return matches; }C 的 PCRE2 JIT 也不是“编译了 JIT 然后还调用普通 match”这种模糊写法而是明确调用pcre2_jit_match。完整代码直接看 GitHub 就行这里不贴一大坨了。结果每个 casewarmup 1 次正式跑 3 次只统计扫描匹配时间所有 case 匹配数都必须等于231,227结果如下按平均耗时排序排名实现平均单轮扫描1.NET GeneratedRegex125.566 ms2.NET Regex170.996 ms3.NET RegexOptions.Compiled171.583 ms4.NET RegexOptions.NonBacktracking219.780 ms5Go regexp303.017 ms6MSVC std::regex448.698 ms7PCRE2 JIT612.498 ms8Python re894.424 ms9PCRE25,191.270 ms10MinGW/libstdc std::regex26,272.900 ms.NETGeneratedRegex三轮分别是125.294 ms 125.734 ms 125.669 ms这个波动很小所以至少在这份数据上不像是偶然抖出来的。另外我一开始也跑过 1MB 的小数据那个时候 .NET 没这么明显的优势。这个也正常1MB 太小了JIT、tiered compilation、缓存状态、计时噪声都能影响结果。到了 1GB 之后差距就稳定多了。有几个结果挺有意思第一.NET GeneratedRegex真的很猛。这个结果对我来说有点爽但不是完全意外。现在的 .NET Regex 对这类

相关新闻

Sklearn 1.4 回归评估指标实战:6大指标在糖尿病数据集上的量化对比

Sklearn 1.4 回归评估指标实战:6大指标在糖尿病数据集上的量化对比

Sklearn 1.4 回归评估指标深度解析:从理论到糖尿病数据集实战当我们在机器学习项目中构建回归模型时,评估指标的选择和解读往往决定了我们能否真正理解模型的预测能力。本文将带您深入探索六大核心回归评估指标(R2、Adjusted-R2、MSE、RMSE、…

2026/7/7 6:43:17阅读更多 →
成对评估上包络线:有界指标的稳健效果边界计算方法

成对评估上包络线:有界指标的稳健效果边界计算方法

1. 项目概述:什么是“paired evaluation upper envelope for bounded-score metrics”?如果你最近在读机器学习评估、模型比较或A/B测试相关的论文、技术报告,甚至是在参与算法效果验收的跨团队评审会,大概率已经和“paired evalu…

2026/7/7 6:43:16阅读更多 →
Ideogram4开源图像生成模型:从环境搭建到区域编辑的完整实践指南

Ideogram4开源图像生成模型:从环境搭建到区域编辑的完整实践指南

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 在计算机视觉和生成式 AI 领域,开源图像模型正经历着从单纯追求图像质量到注重可控性和实用性的转变。Ideogram4 作为近期…

2026/7/7 6:43:16阅读更多 →
Agentic AI与低代码平台融合:企业智能体应用构建指南

Agentic AI与低代码平台融合:企业智能体应用构建指南

前言 Fortune Business Insights报告显示,全球Agentic AI市场从2025年72.9亿美元→2026年91.4亿美元→2034年1391.9亿美元。Gartner判断2026年40%企业级应用将内置AI智能体(2025年不到5%),但同时超40%的Agentic AI项目将因成本失控…

2026/7/7 7:48:20阅读更多 →
树莓派4B机械臂工程化实践:从脚本到实时控制平台

树莓派4B机械臂工程化实践:从脚本到实时控制平台

1. 为什么“脚本级控制”在机械臂项目里注定会崩盘我第一次把4-DOF机械臂接上树莓派4B时,用Python写了个50行的arm_control.py:串口发指令、读回传、用time.sleep()卡延时、GUI用tkinter画了四个滑块。运行起来——能动,但一卡一卡的&#xf…

2026/7/7 7:48:20阅读更多 →
DockDoor深度体验:重新定义macOS窗口管理的5个关键技巧

DockDoor深度体验:重新定义macOS窗口管理的5个关键技巧

DockDoor深度体验:重新定义macOS窗口管理的5个关键技巧 【免费下载链接】DockDoor Window peeking, alt-tab and other enhancements for macOS 项目地址: https://gitcode.com/gh_mirrors/do/DockDoor 还在为macOS上混乱的窗口管理而烦恼吗?Dock…

2026/7/7 7:48:20阅读更多 →
Hermes云端AI数字分身:轻量级Agent工作流部署实战

Hermes云端AI数字分身:轻量级Agent工作流部署实战

1. 这不是又一个“AI聊天框”,而是一个能真正替你跑腿的云端数字分身“30分钟部署一个云端AI助手Hermes,手机发消息它就能干活”——这句话里藏着三个被绝大多数教程刻意模糊的关键事实:第一,“部署”不等于“启动一个网页”&…

2026/7/7 7:48:20阅读更多 →
专业指南:Bedrock Launcher - 高效管理Minecraft基岩版的终极解决方案

专业指南:Bedrock Launcher - 高效管理Minecraft基岩版的终极解决方案

专业指南:Bedrock Launcher - 高效管理Minecraft基岩版的终极解决方案 【免费下载链接】BedrockLauncher 项目地址: https://gitcode.com/gh_mirrors/be/BedrockLauncher Bedrock Launcher是一款专为Minecraft基岩版设计的开源启动器,为技术爱好…

2026/7/7 7:48:20阅读更多 →
StarRocks 备份与恢复实战:基于 MinIO 的 S3 存储方案

StarRocks 备份与恢复实战:基于 MinIO 的 S3 存储方案

StarRocks 备份与恢复实战:基于 MinIO 的 S3 存储方案 为什么需要备份 StarRocks 作为一款 OLAP 分析型数据库,承载着大量业务报表和数据分析结果。虽然数据通常有上游数据源可以重跑,但以下场景备份依然必不可少: 误操作恢复&…

2026/7/7 7:43:20阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/7 4:43:43阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/7 2:56:31阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/7 1:03:28阅读更多 →
Acunetix v24.8 深度解析:DAST漏洞扫描器核心原理与DevSecOps实践

Acunetix v24.8 深度解析:DAST漏洞扫描器核心原理与DevSecOps实践

1. 项目概述:Acunetix v24.8 高级版漏洞扫描器深度解析作为一名在网络安全领域摸爬滚打多年的老兵,我深知一款趁手的“兵器”对于安全测试工作意味着什么。今天要聊的,就是Web应用安全测试领域里一个响当当的名字——Acunetix。特别是其v24.8…

2026/7/7 0:02:41阅读更多 →
国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot)

国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot)

国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot) 🌐 演示地址:http://ruoyioffice.com | 📦 源码1GitHub:ruoyi-office | 📦 源码2GitCode:ruoyi-o…

2026/7/7 0:02:41阅读更多 →
CentOS 7/8 SSH 连接失败:5步系统性排错流程与决策树

CentOS 7/8 SSH 连接失败:5步系统性排错流程与决策树

CentOS SSH连接故障排查:从基础检查到深度修复的完整指南引言当你尝试通过Xshell或其他SSH客户端连接CentOS服务器时,突然遭遇"Connection refused"或"Connection timed out"的错误提示,这种经历对任何运维人员或开发者来…

2026/7/7 0:02:41阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/7 5:11:21阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/7 5:11:21阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/7 5:11:21阅读更多 →