如何分析.NET程序中的正则表达式性能问题
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,这篇文章将为大家详细讲解有关如何分析.NET程序中的正则表达式性能问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。之前在web程序中错误的使用了Re
千家信息网最后更新 2025年11月12日如何分析.NET程序中的正则表达式性能问题
这篇文章将为大家详细讲解有关如何分析.NET程序中的正则表达式性能问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
之前在web程序中错误的使用了RegexOptions.Compiled 选项,导致每个页面打开整度慢了接近0.5秒..
因为是在httpModule里过滤关键字,对性能比较敏感,做了个简单测试.
Stopwatch w = new Stopwatch(); w.Start(); Regex r = new Regex(@".*", RegexOptions.Compiled ); Match m = r.Match("aaa"); if (m.Success) { w.Stop(); Response.Write(w.Elapsed.TotalSeconds.ToString("0.0000000")); }不加RegexOptions.Compiled ,计时器显示0.0000x,添加RegexOptions.Compiled 后计数器显示0.00x
如果正则式写的在复杂一些,那么仅编译时间都要0.x秒了. 看来大部分应用使用RegexOptions.Compiled 反而会降低性能,除非是很BT的应用
.NET的正则表达使用NFA引擎,NFA引擎正则式的写法对性能的很大.
Regex r = new Regex(@"(a|[^a]+)*^" ); string str="111111111111111111111111111111111"; Match m = r.Match(str); if (m.Success) { Response.Write(w.Elapsed.TotalSeconds.ToString("0.0000000")); }
只要str长度超过26基本上很匹配难完成.
以下这些都类似
(b|[^b]+)*^ (c|[^c]+)*^ (^|[^^]+)*(^|[^^]+)*^ (^|[^^]+|[^^]*)*^
看来正则的写法对性能影响挺大的
关于如何分析.NET程序中的正则表达式性能问题就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
性能
正则
程序
表达式
问题
分析
内容
写法
引擎
文章
更多
知识
篇文章
应用
不错
复杂
很大
关键
关键字
大部分
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
组织观看网络安全活动总结
数据库服务器双网卡怎么设置
华梦互联网科技有限公司
北京租用服务器云空间
南通ios软件开发
确保网络安全的原则
软件开发公司服务认证
软件开发 个人收汇
昆明市网络安全监察大队
宁波公路管理软件开发
网络安全控制
服务器安装net3.5命令
微信营销软件开发费用
徐州电子网络技术收费
云服务器端游
云服务器是什么系统
lmt软件开发者
同一个服务器跨数据库查询
逆战哪个服务器人少
cs服务器多少钱
挂yy服务器
数据库如何解决企业组织结构
绝地求生未来之役怎样修改服务器
成都鹰飞尼特斯网络技术有限公司
深圳高新科技园区互联网公司
若依系统服务器配置要求
网络安全绘画图简单 人民
郑州程序软件开发哪家专业
苹果网络服务器找不到
各个数据库的收录范围及特点