Loveyuki's BLOG

.NET 2.0 中慎用 RegexOptions.Compiled
Loveyuki | 2008-03-13 22:59 | 606 点击 | 22 评论

Bitrac 一直以来都有一个很头疼的问题,就是执行时间竟然有 300 多毫秒,虽然感官上速度并不是很明显的慢,但是看到 300 毫秒的时间还是让我这个开发者头疼,以前写 L-BLOG 执行时间也才是 100 毫秒左右而已,.NET 不会比 ASP 速度更慢的,因为以前写 Geekera 的时候执行时间只有 30 毫秒而已。用 JetBrains dotTrace 跟踪了一下程序的执行发现 URLRewrite 和 模板引擎的正则速度超级慢,一直以来也没想出哪里出了问题。今天试着把正则的 RegexOptions.Compiled 选项去掉以后,发现正则的速度提高了好多好多,上 MSDN 看了下 RegexOptions.Compiled 的选项意思,写的也很明白:指定将正则表达式编译为程序集。这会产生更快的执行速度,但会增加启动时间。但是具体啥意思还真没弄明白,后来用 Google 搜索了一下,看到一篇文章:http://blog.livid.cn/zackzhu/200711/thinking/17_395.html 终于弄明白了这个选项的具体意思。

Bitrac 现在最头疼的问题已经解决了,心情那个舒服啊。另外还有一个小问题就是有时候第一次启动会报错误,看错误日志是个数据库文件 IO 方面的错误,估计跟数据库文件的锁定有关系,有机会查查资料,看到底是什么问题。这个问题出现后,一般刷新一下就可以了……真奇怪。

如果你遇到同样的问题,希望这篇文章能带给你些许帮助,如果你有更好的方法或者解释,希望留言告诉我。

引用通告:http://www.loveyuki.com/Article/56/Trackback.ashx
引用 takwai
2008-03-14 11:26 #

只知道存放SQLite那个目录假如缺少个删除文件的权限,就会提示:

会有一个与数据库文件相同但后面多一个"-journal"


引用 takwai
2008-03-14 11:29 #

???  HTML 贴不上来???

Some kind of disk I/O error occurred
disk I/O error

引用 Loveyuki
2008-03-14 14:53 #
2008-03-14 11:29 by takwai

??? HTML 贴不上来???Some kind of disk I/O error occurreddisk I/O error

有些标签会自动过滤掉的。呵呵,一般直接复制粘贴过来的并不能保证内容格式完全正确,不过自己输入的肯定没有问题。

引用 cloud
2008-03-14 23:21 #

请问? 你的正则表达式是如何调用的呢??

引用 Loveyuki
2008-03-15 16:20 #
2008-03-14 23:21 by cloud

请问? 你的正则表达式是如何调用的呢??

嗯,一般能用静态方法的就用静态方法,实在无法用静态方法的才创建正则对象。

引用 oldcpu
2008-03-15 16:58 #

重新做了版面?

引用 Loveyuki
2008-03-15 17:04 #
2008-03-15 16:58 by oldcpu

重新做了版面?

呵呵,做了一个皮肤而已。你要么?发给你用用看……

引用 oldcpu
2008-03-15 17:38 #
2008-03-15 17:04 by Loveyuki

呵呵,做了一个皮肤而已。你要么?发给你用用看……

love.gif 想要,我再二次加工一下。

引用 RainBlog
2008-03-15 17:46 #

这个皮肤不错哦!

引用 BMW
2008-03-15 20:23 #

surprise.gif最靠左边的错位了噢。。

IE6

引用 冷雨夜
2008-03-15 22:22 #

football.gif不错啊哦,也顺便发给我用用~~bitter.gif

引用 yanhe
2008-03-16 20:07 #

我感觉这个皮肤不是很好看,太普通了。

引用 快乐臭虫
2008-03-16 22:08 #

LOVEYUKI前辈.能不能把这个皮肤发一个给我呀!jasonvmy@gmail.com我也用下!觉得简洁,挺好的...

引用 txink
2008-03-17 09:35 #

的确,IE6 左边的一列错位了!

引用 Loveyuki
2008-03-17 11:31 #
2008-03-17 09:35 by txink

的确,IE6 左边的一列错位了!

咔咔,那个是 IE 6 的空格 BUG,LI 标签之间不能有空格或者回车,否则就会出现那个问题。现在已经修正了……

引用 oldcpu
2008-03-17 12:04 #

loveyuki,求助,SQL

引用 oldcpu
2008-03-17 12:04 #

loveyuki,求助,sql2005的问题,你看到给我发个短信.手机号码后10位是*5902909093

引用 oldcpu
2008-03-17 15:41 #

号码写错了,是9393.。。。。实在抱歉。

引用 oldcpu
2008-03-18 00:33 #

中午在客户那里安装了一个SQL2005,找不到企业管理器,所以想求助一下。glade.gif感谢了。已经找到解决方法了。下载一个XXX软件就可以了。

引用 xingel
2008-03-20 19:49 #

loveyuki,发份这个清淡的皮肤过来,挺喜欢

xingel@yeah.net

 

谢谢awkard.gif

(必填)
(必填,不会被公开)
你可以在 30 分钟内修改你所发表的评论