1. 程式人生 > >測試python計算MD5和CRC的速度

測試python計算MD5和CRC的速度

大量資料想均勻分佈到不同的資料庫儲存,當前方法將key進行MD5或CRC計算,取最後一位分別對應到相應的儲存位置。測文字17721088行。
兩個指令碼如下:
MD5部分

import hashlib
import time
 
file_list = open('di.txt')
start =time.time()
for get_str in file_list:
    if get_str[-1] == '\n':
        get_str = get_str[:-1]
    get_crc = hashlib.md5(get_str).hexdigest()
    #print get_crc
end = time.time()
print end-start


CRC部分

importzlib
importtime
 
file_list=open('di.txt')
start=time.time()
forget_strinfile_list:
    ifget_str[-1]=='\n':
        get_str=get_str[:-1]
    get_crc=zlib.crc32(get_str)&0xffffffff
end=time.time()
printend-start

md5計算用58.81秒,crc計算用27.06秒。CRC速度比md5快一倍。但是MD5是16進位制,CRC是十進位制。如果要將CRC轉為16進位制,所用時間和MD5用時相似。

轉自:http://www.simonzhang.net/?p=2178