性能测试

来源:互联网 发布:亚洲x站最新免费域名 编辑:程序博客网 时间:2024/05/17 11:36

3.18上午在实验室继续进行测试,鉴于上午的网络一般比较稳定,结果如下:


先分析后下载需要时间: 38.065521398952434 s

分析一张下载一张需要时间: 39.59245087208742 s


先分析后下载需要时间: 38.59897156617762 s
分析一张下载一张需要时间: 36.55516337245175 s


先分析后下载需要时间: 37.054379895703384 s
分析一张下载一张需要时间: 52.49660890244699 s


先分析后下载需要时间: 59.9057060999525 s
分析一张下载一张需要时间: 37.09512520233488 s


先分析后下载需要时间: 44.19280219480225 s
分析一张下载一张需要时间: 40.71572171201472 s


先分析后下载需要时间: 59.841832526867485 s
分析一张下载一张需要时间: 65.7673765782941 s


先分析后下载需要时间: 37.246963694052845 s
分析一张下载一张需要时间: 40.403862661472765 s


先分析后下载需要时间: 38.14917298764295 s
分析一张下载一张需要时间: 83.08000330057797 s


先分析后下载需要时间: 44.60078770510075 s
分析一张下载一张需要时间: 44.74700536179712 s


先分析后下载需要时间: 71.59480520226919 s
分析一张下载一张需要时间: 69.3816219384984 s


先分析后下载需要时间: 77.9688793265179 s
分析一张下载一张需要时间: 87.31179665155543 s


综合来看,先分析后下载会好,但仍然有后者好于前者的情况。不过,仍然可以确定改用先分析后下载


附测试代码:

# -*- coding:gbk -*-#用来测试,是否先分析后下载会比分析一张下一张要快,记住用no-cache#以下载一话为例import osimport parse_131import assistfuncimport httplib2from time import clockdef download1(manga):    '''    测试函数,按分析一张下载一张的方式,执行一话下载,manga就是仅包含一话的字典    '''    comicname = '测试用_1'   #漫画的名字    localdir = 'C:\\' + 'Users\dell\Desktop'         #本地存储路径    webtype = '131'    start = clock()    localdir = os.path.join(localdir,comicname)    if not os.path.exists(localdir):         os.mkdir(localdir)    for key in manga:        #创建每一话的文件夹,执行每一话的下载        episodedir = os.path.join(localdir,key)        if not os.path.exists(episodedir):            os.mkdir(episodedir)        if webtype == '131':            #处理131的下载            parseE = parse_131.parseEpisode()            temppageurl = manga[key][0]    #保存当前下载图片所在网页url            N = manga[key][1]              #页数            for i in range(1,N+1):                #执行每一张图片的下载                if i > 1:                    #更新当前下载图片所在网页url,算法是先以/分割,把最后一部分改成i.html,再拼起来                    parts = temppageurl.split('/')                    parts.pop()                    parts.append(str(i)+'.html')                    temppageurl = '/'.join(parts)                parseE.feed(temppageurl)                localfile = open(os.path.join(episodedir,key+'-'+assistfunc.getThreeDigit(i)+'.jpg'),'wb')#图片名:X话-i.jpg                #httplib2.debuglevel = 1         #发送请求时显示                h = httplib2.Http('.cache')  #创建缓存目录,会自动清理                header = {"cache-control":'no-cache'}                response,data = h.request(parseE.picurl,headers = header)                localfile.write(data)                localfile.close()    end = clock()    print('分析一张下载一张需要时间:',end - start,'s')    def download2(manga):    comicname = '测试用_2'   #漫画的名字    localdir = 'C:\\' + 'Users\dell\Desktop'         #本地存储路径    webtype = '131'    start = clock()    localdir = os.path.join(localdir,comicname)    if not os.path.exists(localdir):         os.mkdir(localdir)    for key in manga:        #创建每一话的文件夹,执行每一话的下载        episodedir = os.path.join(localdir,key)        if not os.path.exists(episodedir):            os.mkdir(episodedir)        if webtype == '131':            parseE = parse_131.parseEpisode()            temppageurl = manga[key][0]    #保存当前下载图片所在网页url            N = manga[key][1]              #页数            imagelist = []            for i in range(1,N+1):                #执行每一张图片的下载                if i > 1:                    #更新当前下载图片所在网页url,算法是先以/分割,把最后一部分改成i.html,再拼起来                    parts = temppageurl.split('/')                    parts.pop()                    parts.append(str(i)+'.html')                    temppageurl = '/'.join(parts)                parseE.feed(temppageurl)                imagelist.append(parseE.picurl)                        print('分析完毕,开始下载')                        for i in range(0,N):                localfile = open(os.path.join(episodedir,key+'-'+assistfunc.getThreeDigit(i)+'.jpg'),'wb')#图片名:X话-i.jpg                #httplib2.debuglevel = 1         #发送请求时显示                h = httplib2.Http('.cache')  #创建缓存目录,会自动清理                header = {"cache-control":'no-cache'}                response,data = h.request(imagelist[i],headers = header)                localfile.write(data)                localfile.close()    end = clock()    print('先分析后下载需要时间:',end - start,'s')               if __name__ == '__main__':    manga = {'第一卷':['http://comic.131.com/content/22144/192523/1.html',50]}    download2(manga)    download1(manga)    '''        不同页数作为备用,页数增加使时间差别增大,但是网络不稳定会影响结果。    'http://comic.131.com/content/16445/190656/1.html',21    'http://comic.131.com/content/22245/192983/1.html',103    'http://comic.131.com/content/22144/192523/1.html',50    '''    


原创粉丝点击