Regex.Matches()内部执行了多少次分配?

时间:2016-09-25 20:19:08

标签: .net regex memory allocation

我需要在包含大量Regex.Matches()调用的文本处理内循环中最小化内存分配数。所以,问题是,给定文本长度(以字符为单位)t,正则表达式模式长度(以字符为单位)r和匹配数m,是什么大致的数字由Regex.Matches()做出的内存分配,这些分配的大小是多少?这些是否受Regex选项影响?

我已尝试浏览Regex Regex.Matches()及其相关类别,但因其复杂性而受阻。此外,在网络上找不到与$http.defaults.headers.common['Token'] = token 的内存使用情况相关的文档。因此问题。

1 个答案:

答案 0 :(得分:1)

获取内存分析器,如JetBrains dotMemory,使用正则表达式分析简单的应用程序,查看Regex.Matches生成的memory traffic或其他您感兴趣的方法。这是最简单,最准确的Regex.Matches()学习了多少分配的方法。 嵌入到Visual Studio的内存分析器不显示有关内存流量的信息,AFAIK,其他商业分析器应该这样做。