測試python計算MD5和CRC的速度
阿新 • • 發佈:2019-01-29
大量資料想均勻分佈到不同的資料庫儲存,當前方法將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