.Net 5 正则表达式性能改进

起因

本篇翻译 Regex Performance Improvements in .NET 5 ,因英文水平有限,翻译是尽量简单化.

正则表达式

正则表达式最早出现在.Net Framework 1.1中,在.Net内部有很多地方都在使用,在外部也被成千上万的程序所使用.正则表达式相对来说比较消耗CPU资源的.

正则表达式在性能方面并没有得太多的关注.从执行结果来看,和15年前(在.Net Framework 2.0以后,性能上没有太多的改进)没什么区别.

在2006年.Net Framework 2.0 调整了正则表达式缓存策略

在.Net Core 2.0 正则表达式改进 RegexOptions.Compiled(启用),在.Net Core 1.x RegexOptions.Compiled(没有启用)

在.Net Core 3.0 正则表达式内部得到了一部分改进.得益于Span,在某些场景提高了内存的利用率.

在.Net 5中,对正则表达式内部进行重要改进,并进行相对多的测试,改进的结果是性能提高3到6倍.

正则表达式实现

在.Net 正则表达式内部是有RegexParse
秋风 2020-11-25