|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2011/1/7 16:19:47 |
标题: |
|
加入我的收藏 |
楼主: |
Create函数中创建ScopeNotifier的位置太靠后,导致如果第一次使用的时候,用Compiled模式创建一个无效的pattern,内部的TPerlRegex会泄露。
不知道有没有人QC过,以前的Bug还有一堆没solve,我都没太大积极性了...
----------------------------------------------
- |
作者: |
ivvn (奔腾的心) |
★☆☆☆☆ |
-
|
普通会员 |
|
2011/1/7 17:31:42 |
1楼: |
这个TRegEx慢得要死,还不如用微软的那个
----------------------------------------------
-
|
作者: |
|
2011/1/8 5:57:32 |
2楼: |
慢的原因我可能猜得到:因为PerlRegEx是基于UTF-8的实现,因此每次Match或设定新的Pattern都会涉及到一次Unicode->UTF8的转换...
----------------------------------------------
-
|
作者: |
ivvn (奔腾的心) |
★☆☆☆☆ |
-
|
普通会员 |
|
2011/1/8 10:36:50 |
3楼: |
不是,慢的原因是申请了n次内存,进行了n次字符串copy 实际上只要2次字符串copy就行了,还有,匹配时实时编译的,应该优化成预先编译匹配码,再对撞
----------------------------------------------
-
|
作者: |
|
2011/1/8 13:37:26 |
4楼: |
好像可以提前compile啊? 事实上也推荐这样做,可以提前发现错误,免得到用的时候才出现exception.
----------------------------------------------
-
|
|