色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

淺談提升C#正則表達(dá)式效率

  說到C#的Regex,談到最多的應(yīng)該就是RegexOptions.Compiled這個(gè)東西,傳說中在匹配速度方面,RegexOptions.Compiled是可以提升匹配速度的,但在啟動(dòng)速度上,使用了RegexOptions.Compiled情況下,通常會(huì)使啟動(dòng)速度慢許多,據(jù)說最多是60倍。

  進(jìn)行一組測試,有測試數(shù)據(jù),才有討論依據(jù)。

  第一步,帖上測試硬件信息(呵呵,硬件有點(diǎn)爛:()

  第二步,

  a.測試在沒有使用RegexOptions.Compiled項(xiàng)時(shí)候的情況,隨意使用一些內(nèi)容,然后循環(huán)一萬次實(shí)例化正則表達(dá)式對(duì)象來匹配這些內(nèi)容。

代碼
protected void Page_Load(object sender, EventArgs e)
{
WebClient webClient
= new WebClient();
string content = webClient.DownloadString("http://www.cnblogs.com/tmyh/archive/2010/09/29/sqlindex_01.html");

Stopwatch watcher
= new Stopwatch();
watcher.Start();

int i = 10000;
while (i > 0)
{
Regex rgx
= new Regex("<div>.+?</div>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
bool b1 = rgx.IsMatch(content);

Regex rgx2
= new Regex("<p>.+?</p>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
bool b2 = rgx2.IsMatch(content);

i
--;
}
Response.Write(
string.Concat("<div>", watcher.Elapsed.TotalSeconds.ToString("f7"), "</div>"));
}

NET技術(shù)淺談提升C#正則表達(dá)式效率,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 海淀区| 方山县| 阳高县| 平昌县| 甘肃省| 乐平市| 济源市| 平果县| 济阳县| 吉安县| 扶沟县| 阿拉善左旗| 新乡县| 嘉峪关市| 临夏市| 边坝县| 当阳市| 东乡族自治县| 丰顺县| 永登县| 固阳县| 汤原县| 安陆市| 洪湖市| 周宁县| 沅陵县| 夏津县| 孟村| 旬邑县| 思茅市| 三江| 嘉禾县| 湘潭县| 酉阳| 沙田区| 柳江县| 永善县| 广水市| 东安县| 金乡县| 威宁|