需求:日志遍历,对应服务器日志中每个客户请求和应答时间统计
首先把遍历关键词放入一个array的二维数组中
第一个循环把array中第i个取出,然后用这个去遍历日志中,任何含有该关键词的都取出来,存进一个list中
以下是部分的代码
for i in range(np.size(arr_os,0)):
recv_date = None
recv_time_str = None
print(arr_os[i][0])
for j in range(len(data_str)):
if arr_os[i][0] in data_str[j] and '[recv]' in data_str[j]:
timedata3 = data_str[j]
recv_time = timedata3[10:22] # recv时间戳
recv_time_str = recv_time[0:2] + ':' + recv_time[2:4] + ':' + recv_time[4:6] + '.' + recv_time[6:9]
recv_date = timecalcu.trans_date_ms(recv_time_str)
continue
我需要遍历800万条的日志,内嵌的for循环中加了if。。。break等必要的判断去尽量减少遍历次数,但是耗时还是要很久,要24小时。请问各位大神有什么优化这种遍历的方法??
|