手机2.5G Edge网络MD5处理文件速度

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。

时间: 2024-11-10 08:21:43

手机2.5G Edge网络MD5处理文件速度的相关文章

【我的Linux,我做主!】浅谈MD5校验文件完整一致性

目录:(一)MD5介绍(二)md5sum命令(三)实战演练 (一)MD5介绍(1.1)MD5即Message-Digest Algorithm 5(信息-摘要算法 第5版),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又名:摘要算法.哈希算法),主流编程语言普遍已由MD5实现.将数据运算为另一固定长度值(十六进制的为32位),是杂凑算法的基础原理,MD5的前身有MD2.MD3和MD4.MD5的作用是大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把

批量MD5命名文件

#coding=utf-8 import os import hashlib def GetFileMd5(filename): if not os.path.isfile(filename): print(filename) return mymd5 = hashlib.md5() f = file(filename,'rb') while True: b = f.read(8096) if not b: break mymd5.update(b) f.close() return mymd5

JWebFileTrans(JDownload): 一款可以从网络上下载文件的小程序(二)

一  前言 本文是上一篇博客JWebFileTrans:一款可以从网络上下载文件的小程序(一)的续集.此篇博客主要在上一篇的基础上加入了断点续传的功能,用户在下载中途停止下载后,下次可以读取断点文件,接着上次已经下载的部分文件继续下载.另外将程序名从JWebFileTrans更改为JDownload,并从github的utility repository中独立出来专门维护,后续会添加多线程.ftp下载等功能.JDownload的github链接请点击JDownload源代码 . 另外时隔三个月后

linux网络配置相关文件

网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0.eth1...... ethX.而普通猫和ADSL的接口是 pppX,比如ppp0等: 机器中所有可用网卡及名字: 参考:linux网络配置相关命令.虚拟网络接口eth0:0 网关GateWay配置地址: /etc/sysconfig/network  GATEWAY=192.168.1.250 /etc/sysconfig/network-script

android手机自带浏览器无法识别apk文件

原文:http://www.cnblogs.com/yaozhongxiao/archive/2013/07/17/3194765.html 在项目中遇到安卓自带浏览器下载成功 , 但无法打开已下载的APK文件自动安装的问题,特别是三星系列的手机普遍存在这种问题,google后发现也有朋友遇到类似的问题: http://bbs.csdn.net/topics/390262400 引:      写了一些 android 的应用放在网站上让人下载,在某些机型上,三星的 android 的 4.0 

网络编程练习 -- 文件上传

LWTViewController.m // // LWTViewController.m // 网络编程练习 -- 文件上传 // // Created by apple on 14-6-30. // Copyright (c) 2014年 lwt. All rights reserved. // #import "LWTViewController.h" #define KStringToData(string) [string dataUsingEncoding:NSUTF8St

保存网络中的文件

package cn.cctv.net; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; public class ImageRequest { /** * @param args */ publ

从网络上下载文件

文件的下载: 使用HTTP协议下载文件 ·创建一个HttpURLConnection对象 HttpURLConnection urlConnection=(HttpURLConnection)url.openConnection(); ·获得一个InputStream对象 urlConn.getInputStream() ·访问网络的权限 android.permission.INTERNET ·从网络上下载文件夹 HttpDownload.java中的代码: public class Http

C#网络编程(接收文件) - Part.5

C#网络编程(接收文件) - Part.5 这篇文章将完成Part.4中剩余的部分,它们本来是一篇完整的文章,但是因为上一篇比较长,合并起来页数太多,浏览起来可能会比较不方便,我就将它拆为两篇了,本文便是它的后半部分.我们继续进行上一篇没有完成的步骤:客户端接收来自服务端的文件. 4.客户端接收文件 4.1服务端的实现 对于服务端,我们只需要实现上一章遗留的sendFile()方法就可以了,它起初在handleProtocol中是注释掉的.另外,由于创建连接.获取流等操作与receiveFile