Edge理论下载大约在10KB/S至30KB/S之间,测试手机型号为LG Nexus 4,配置为4核CPU 1.2Ghz主频,2G内存,测试环境下,移动网络信号强度为-69dbm,22aus左右(dbm与aus值都可表示手机信号强度,dbm =-113+2*asu,dbm值越大,则表示信号越好,保证正常通话的信号强度值为-60dbm(最强)至-90dbm(最弱)之间,-69dbm信号强度为良好),通过手机ROM自带状态栏网速监控(刷新频率为500ms),检测手机下载速度为3KB/S至10KB/S,大部分时间稳定在7KB/S。浏览网页的实时下载速度为3KB/S至8KB/S之间,大部分时间稳定在5KB/S左右。
计时方式采用如下方式,精度为1ms
function timedCount() { c=c+0.001 t=setTimeout("timedCount()",1) }
实际测试过程中
Md5处理文件大小(KB) | 第1次(s) | 第2次(s) | 第3次(s) | 第4次(s) | 第5次(s) | 第6次(s) | 第7次(s) | 第8次(s) | 平均(s) |
0 | 0.130 | 0.082 | 0.076 | 0.116 | 0.191 | 0.152 | 0.117 | 0.065 | 0.116125 |
1 | 0.115 | 0.114 | 0.080 | 0.078 | 0.182 | 0.127 | 0.129 | 0.178 | 0.1175 |
10 | 0.104 | 0.162 | 0.166 | 0.104 | 0.153 | 0.096 | 0.116 | 0.099 | 0.125 |
20 | 0.129 | 0.140 | 0.109 | 0.113 | 0.170 | 0.100 | 0.102 | 0.162 | 0.128125 |
430 | 0.121 | 0.150 | 0.151 | 0.156 | 0.205 | 0.126 | 0.129 | 0.164 | 0.15025 |
在测试过程中,若在md5处理字符串前设置计时开始,在md5处理完字符串后计时结束,调整时间精度为1ms时,由于处理时间过短(小于1ms),这部分时间是无法准确计算出来的,将时间精度继续调小的话会产生的结果也是不准确的。因此,采用在md5处理字符串前设置计时开始,服务器响应回来后计时结束的方式来做。当md5处理文件大小为0时,即为请求响应的时间,随后测试处理9.54KB文件,19KB文件,429KB文件所花的时间,各自减去请求响应时间即为md5处理这部分文件所花的时间。为了保证测试数据的准确性,处理同一大小文件每次都是重新打开网页。不采用刷新方式;处理不同文件大小时关闭浏览器,清除缓存,重新打开测试
计算得出,
处理1KB大小文件时,每处理1KB文件大小所需要时间1.375ms,
处理10KB大小文件时,每处理1KB文件大小所需要时间0.930ms,
处理20KB大小文件时,每处理1KB文件大小所需时间0.632ms,
处理430KB大小文件时,每处理1KB文件大小所需0.079ms
以上数据可以看出md5一次性处理数据越大,处理每KB数据所花时间越小,然而对于这种处理速度,可以忽略md5处理数据的时间
而在实际使用过程中,发现的页面加载很慢,一般需要3s左右可以将页面加载出来,原因是2G网络速度慢,加载需要时间。
补充:
关于数据摘要算法的处理速度,百度百科有相对权威的测试(测试环境PC机器):
数据摘要算法的处理是很快的,在一般配置的PC机上使用MD5算法,处理1G的文件数据只需20-30秒(有些专用设备声称达 3GB/秒)按照最低的处理速度计算,需要30秒处理完1G数据,则每处理1kB数据只需要0.029ms。