首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NSRegularExpression内存占用

NSRegularExpression内存占用
EN

Stack Overflow用户
提问于 2012-07-15 01:08:35
回答 1查看 866关注 0票数 3

我一直在尝试降低我的应用程序的内存使用率,在分析之后发现NSRegularExpression是一个相当占用内存的应用程序。

我的一个fistMatchInString调用(第一个?)分配永远不会释放的1 MB内存。而且每次对firstMatchInString的调用都会泄漏一个"NSConcreteValue“(不管是什么)。

你有没有经历过同样的行为,你知道如何避开它吗?你知道NSRegularExpression有什么好的替代品吗?

在您问之前:我所有的正则表达式模式都很小,并且是静态创建的。所有要匹配的字符串也都很小。

EN

回答 1

Stack Overflow用户

发布于 2012-07-15 01:24:20

是的,正则表达式是开销很大的操作。

从NSPredicate编程指南中可以看出:“正则表达式匹配是一项特别昂贵的操作”,“因此,您应该在执行正则表达式之前执行简单的测试”。

我让您阅读predicate programming guide的性能部分。我不知道谓词是否适用于您的情况,但您甚至可以从性能部分(位于“使用谓词”一章)中提取一些有价值的信息。

编辑:

看看这个link的正则表达式部分,他使用的是静态NSRegularExpression,而不是每次都分配它。

从这个post来看,即使是关于python的,"+“似乎更贪婪,所以在正则表达式中可能会有一些改进,在表达式本身中可能会有一些实现的最佳实践。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11485725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档