我需要在包含大量Regex.Matches()
调用的文本处理内循环中最小化内存分配数。所以,问题是,给定文本长度(以字符为单位)t
,正则表达式模式长度(以字符为单位)r
和匹配数m
,是什么大致的数字由Regex.Matches()
做出的内存分配,这些分配的大小是多少?这些是否受Regex
选项影响?
我已尝试浏览Regex
Regex.Matches()
及其相关类别,但因其复杂性而受阻。此外,在网络上找不到与$http.defaults.headers.common['Token'] = token
的内存使用情况相关的文档。因此问题。
答案 0 :(得分:1)
获取内存分析器,如JetBrains dotMemory,使用正则表达式分析简单的应用程序,查看Regex.Matches生成的memory traffic或其他您感兴趣的方法。这是最简单,最准确的Regex.Matches()学习了多少分配的方法。 嵌入到Visual Studio的内存分析器不显示有关内存流量的信息,AFAIK,其他商业分析器应该这样做。