AC多模匹配算法-测试效率

总结:

AC算法对无规则匹配数据和有关联匹配数据影响不是很明显。
无论是有匹配还是无关匹配,大概遍历1G文件都需要10s左右。


1G文件中都是0到9的字符。

无匹配操作时,单纯遍历1G文件耗时情况

[root@devvm acsmx]# ./ac 1G.txt ABCDE AAAAA BBBB KKKK EEEE
Total Time: 4.1900 seconds.

有关数据匹配:

相关数据匹配

[root@devvm acsmx]# ./ac 1G.txt 456789
Total Time: 12.7800 seconds.
### Summary ###
      456789 :  1081

相关数据,但不匹配数据

[root@devvm acsmx]# ./ac 1G.txt 555*44
Total Time: 9.5400 seconds.
### Summary ###
      555*44 :     0

[root@devvm acsmx]# ./ac 1G.txt 555*44 1234*6 456*89 0*1256 86754* 9632*1 0987*2 43298*
Total Time: 10.0400 seconds.
### Summary ###
      43298* :     0
      0987*2 :     0
      9632*1 :     0
      86754* :     0
      0*1256 :     0
      456*89 :     0
      1234*6 :     0
      555*44 :     0

无关数据匹配:

无关数据匹配(单个字符串)

[root@devvm acsmx]# ./ac 1G.txt ABCDE
Total Time: 9.8600 seconds.
### Summary ###
       ABCDE :     0

无关数据匹配(多个字符串)

[root@devvm acsmx]# ./ac 1G.txt ABCDE FGHIGK LMNOPQ RLKUVW XYZZZZ
Total Time: 9.7700 seconds.
### Summary ###
      XYZZZZ :     0
      RLKUVW :     0
      LMNOPQ :     0
      FGHIGK :     0
       ABCDE :     0

无关且无匹配搜索(多个字符串)

[root@devvm acsmx]# ./ac 1G.txt ABCDE FGHIGK LMNOPQ RLKUVW XYZZZZ AFLRX BGMLUV CHNUZW
Total Time: 9.7200 seconds.
### Summary ###
      CHNUZW :     0
      BGMLUV :     0
       AFLRX :     0
      XYZZZZ :     0
      RLKUVW :     0
      LMNOPQ :     0
      FGHIGK :     0
       ABCDE :     0

无关且无匹配搜索(多字符)

[root@devvm acsmx]# ./ac 1G.txt ABCDEFGHIGKLMNOPQLMA ASKDFJALSKUOICXJSALFJ AKSDJFLAKSJDFLASFDUOIASDF JASLKMLK CJOQEIWUROJDSDAFJ ASDJFLASUOICLANGLD DJASFKFJASLKFJASLFJAS ALSJDFLKAJSDLUVCOIVJAOV ERALWLKNFELKAND UXICSJOAIJSDOFJA MSAKDFJXCOAMOVDKSAFJ 
Total Time: 9.8000 seconds.

无匹配搜索(多字符)

[root@devvm acsmx]# ./ac 1G.txt 6516523436132435134 13546814613249874651 21354645651626598798  26561321346987894564651 54678492323135478913230 3246549874891321320635 465498461023465749 16574613213137746498416132
Total Time: 9.8300 seconds.

不同大小的缓冲区,读取效率对比

对1G文件进行读取速度

当缓存为1024*64B(64K)

[root@devvm acsmx]# ./ac 1G_En1.txt 
Total Time: 2.8600 seconds.

当缓存为256B

[root@devvm acsmx]# ./ac 1G_En1.txt 
Total Time: 3.2100 seconds.

当缓存为1024*1024*10B(10M)

[root@devvm acsmx]# ./ac 1G_En1.txt 
Total Time: 2.9900 seconds.

当缓存为1024*12B(12K)

[root@devvm acsmx]# ./ac 1G_En1.txt 
Total Time: 2.8700 seconds.
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值