.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倍.
正则表达式实现

秋风
2020-11-25