- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我了解使用 RegexOptions.Compiled 的优势 -它通过编译形式的正则表达式而不是在运行时解释它来改进应用程序的执行时间。尽管对于启动时已经很慢的应用程序不建议使用它。
但如果我的应用程序可以承受启动时间的任何轻微增加 -
我不应该使用 RegexOptions.Compiled 的其他场景是什么?
请注意,我多次调用此方法 -
private static string GetName(string objString)
{
return Regex.Replace(objString, "[^a-zA-Z&-]+", "");
}
因此,此方法使用不同的“objString”值调用(尽管 objString 的值也可能重复)。
你觉得这里用RegexOptions.Compiled好/不好?任何网络链接都会非常有帮助。
谢谢!
编辑
我用两者测试了我的网络应用
RegexOptions.Compiled
和Regex
实例化为类变量但我的 Web 应用程序所用时间没有发现任何重大差异 -在这两种情况下,我唯一注意到的是,与连续页面加载相比,第一次加载应用程序所花费的时间是它的两倍,这与我是否使用 RegexOptions.Compiled 无关。
对--
的任何评论为什么我的 web 应用程序需要更长的时间让 Regex 第一次处理并且在后续加载中花费的时间减少到几乎一半或更少 - 是否有任何内置缓存或其他一些 .net 功能在这里有帮助。附言无论我是否使用 RegexOptions.Compiled,这都是一样的。
最佳答案
对于像这样的任何特定性能问题,找出哪种方法更快的最佳方法是同时测试并查看。
一般来说,除非您大量 或非常 大字符串使用正则表达式,否则编译正则表达式不太可能有太大好处。 (或两者兼而有之。)我认为这更像是一种优化,在您确定存在性能问题并且您认为这可能有所帮助之后进行尝试,而不是随机尝试。
有关 RegexOptions.Compiled
缺点的一些一般性讨论,请参阅 this blog post by Jeff Atwood ;它非常古老(从 .NET Framework 1.1 开始),但据我所知,自编写以来,主要的相关事实都没有改变。
关于c# - 何时不使用 RegexOptions.Compiled,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9969158/
我在运行 compile test:compile it:compile经常并且...希望将击键次数减少到类似 *:compile 的数量。 .不过,它似乎不起作用。 $ sbt *:compile
有人可以给我这个问题的提示(或整个解决方案!): 在 Clojurescript 项目中,如何自动将编译日期/时间硬编码在符号中,以便在使用应用程序时显示? 谢谢。 最佳答案 有多种解决方案: 使用l
我是 ember.js 框架的新手,使用 ruby on rails 和 ember.debug.js -v 1.10.1(最新版本)。我一直在网上看到 ember 更改了这个最新的补丁,但我不知
我不是 Fortran 程序员(只是短暂的经验),但我需要编译一个部分用 F77 编写的程序。在我之前有人用 Absoft 编译器编译过它,但现在我需要在另一台机器上用 g77 重复这个过程。对于 A
我运行命令 mvn clean package 我得到了上面的错误我的 pom 是: http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0
我有以下问题。 我想在测试编译阶段排除一些.java文件(** / jsfunit / *。java),另一方面,我想在编译阶段包括它们(id我使用tomcat启动tomcat:运行目标) ) 我的p
符合 wikipedia A compiler is a computer program (or set of programs) that transforms source code writt
我想构建项目,但出现如下错误: 无法执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile
当我通过右键单击项目名称进行 Maven 安装时,出现以下错误: [INFO] Scanning for projects... [WARNING] [WARNING] Some proble
我是 Maven 的新手,我想将我的应用程序导入到 Maven。和以前一样,我想将我的 ejb 项目中的类引用到我的 war 项目中。我在类中没有错误,但是如果我在我的父项目上安装 maven,那么我
当我将 ASP.NET Web 应用程序部署到生产环境时,我使用配置转换来删除 debug="true"来自 .但是,就在今天,我注意到 web.config 中的另一个部分如下所示:
This question already has answers here: Maven Compilation Error: (use -source 7 or higher to enable
我正在使用 Maven 3.0.5 和 Spring Tool Source 3.2 并安装了 Maven 插件。当我尝试执行“运行方式---> Maven 安装”时,出现以下错误: [INFO] S
我试图用 AngularJS 创建我自己的递归指令,它调用自己以漂亮的 JSON 格式转换 View 中的对象。好吧,首先我使用 ng-include 调用带有模板的脚本,在其中使用 ng-if 验证
可以通过 @suppress annotation使用Google的Closure Compiler在每个文件的基础上禁止显示警告。但是,似乎无法同时抑制多个警告-例如globalThis和check
假设一个拥有 10 到 20 年经验的熟练开发人员从未构建过编译器或模拟器,哪一个会更具挑战性? 你能比较一下会成为障碍的问题吗? 谢谢。 最佳答案 仿真和编译是完全不同的,但由于两者都被认为是“低级
最近发现Vim中有一个命令叫compiler。您可以使用任何常见的编译器(例如,:compiler gcc、:compiler php 等)来调用它,但它似乎没有任何立竿见影的效果。 我在联机帮助页上
我试图从 spring.io 指南中部署最简单的应用程序 Guide 但是我有一些麻烦.. 我做了什么: 创建的项目。 (来自 spring.io 教程) 下载 heroku CLI 在 Intell
每当进行 Maven Build..>clean install 时,我都会遇到此错误。我尝试过使用不同版本的插件并添加 testFailureIgnore 属性,但问题仍然存在。请找到下面的 POM
我有一个 web 应用程序,我尝试使用 maven 进行编译,不幸的是,在执行 mvn clean package 时它不起作用。 stackoverflow 上有很多问题看起来都一样,但没有解决了我
我是一名优秀的程序员,十分优秀!