色色一区二区三区,一本大道道久久九九AV综合,国产香蕉97碰碰视频va碰碰看,综合亚洲国产2020

    <legend id="mljv4"><u id="mljv4"><blockquote id="mljv4"></blockquote></u></legend>

    <sub id="mljv4"><ol id="mljv4"><abbr id="mljv4"></abbr></ol></sub>
      <mark id="mljv4"></mark>

      比較字符串和模式

      2021-02-03 21:18

      的最快方法據(jù)我所知,我有兩個(gè)選項(xiàng)來(lái)比較字符串和模式:使用=~ 比較。使用matchstr()函數(shù)這個(gè):quot;patternlt;用matchstr()做點(diǎn)什么quot;patternlt;做

      解答動(dòng)態(tài)

      • 運(yùn)算符版本=~很可能比matchstr快。這是給一對(duì)夫婦的原因:函數(shù)調(diào)用在vim腳本中,costmatchstr返回一個(gè)字符串,因此有一個(gè)額外的allocation I已經(jīng)做了一個(gè)直接的性能比較。
        let t=reltime()對(duì)于范圍(1000000)中的x,如果matchstr('strpatingpattern','pattern')endifendforecho reltimestr(reltime(t))let t=reltime()對(duì)于范圍(1000000)中的x如果match('strpatingpattern','pattern')endifendforecho reltimestr(reltime(t))讓t=reltime()表示范圍(1000000)內(nèi)的x如果'strpatingpattern'=~'pattern'endifendforecho reltimestr(reltime(t)) 結(jié)果:
        3.9925003.817862 3.354163 差異不大,但我們可以看到matchstr是最慢的方法,match在中間,and=~是最快的。
        Use=~當(dāng)您需要二進(jìn)制輸出時(shí),當(dāng)您需要提供額外的輸出或輸入時(shí),請(qǐng)使用match或matchstr。

        • 我運(yùn)行了@Mass bench來(lái)避免:因?yàn)槲矣羞^(guò)與控制語(yǔ)句相關(guān)聯(lián)的額外成本的經(jīng)驗(yàn)。
          My復(fù)雜的解決方案也盡最大努力避免lambdas.
          函數(shù)!lh#time#bench?n2(n,F(xiàn),…)中止如果type(a:F)==type(function('type'))讓benchs=map(range(1,a:n),'[reltime()]+[a:F()]+[reltime()]')否則讓benchs=map(range(1,a:n),'[reltime()]+['.a:F.']+[reltime()]')endif讓res=benchs[0][1]調(diào)用map(benchs),'reltimefloat(v:val[0],v: val[2]))')讓accu=[0]調(diào)用map(copy(benchs),'add(accu,v:val+accu[-1])返回[res,accu[-1]]endfunction ,在質(zhì)量'bench
          echo lh#time#bench#n2(1000000,quot;)echo lh#time#bench#n2(1000000,quot;)echo lh?time?bench?n2(1000000,quot;)echo lh?time?bench?n2(1000000,quot;) 最后,結(jié)果在我的機(jī)器上更穩(wěn)定一點(diǎn)——但是有時(shí)=~比=~?快一點(diǎn),有時(shí)則相反。而且,現(xiàn)在我確信它是復(fù)雜的,而且沒(méi)有必要:Mass的簡(jiǎn)單解決方案已經(jīng)足夠了。
          “Mass”bench為了有一個(gè)想法5.726717 5.520035 4.839088“Mine”[“pattern”,4.724165][9,4.75635][1,4.313803][1,4.557732] 在結(jié)論中,是的matchstr()比match()慢一點(diǎn),比=~慢一點(diǎn),但說(shuō)實(shí)話?我懷疑你是否會(huì)注意到這種差異,即使是在處理100k或1M標(biāo)簽時(shí)。當(dāng)您需要matchstr()或match()或。。。額外的服務(wù),使用它們。否則,使用您希望/喜歡/喜歡的任何東西來(lái)測(cè)試它是否匹配。

          • End

          免責(zé)聲明:

          本頁(yè)內(nèi)容僅代表作者本人意見(jiàn),若因此產(chǎn)生任何糾紛由作者本人負(fù)責(zé),概與琴島網(wǎng)公司無(wú)關(guān)。本頁(yè)內(nèi)容僅供參考,請(qǐng)您根據(jù)自身實(shí)際情況謹(jǐn)慎操作。尤其涉及您或第三方利益等事項(xiàng),請(qǐng)咨詢專業(yè)人士處理。