三种数据转换的执行效率比较
来源:互联网 发布:js上传图片跨域问题 编辑:程序博客网 时间:2024/06/05 17:17
在使用Socket进行数据传输中, 最重要的一个注意项,是我们需要关注 网络自己顺序, 本文使用了3中字节顺序转换方式,他们的执行效率有较大差别,如果你的系统比较繁忙的话,不妨考虑更有效的代码(原文链接 http://ddbiz.com/?p=119)
1. IPAddress
使用 IPAddress.HotToNetworkOrder 可以对整形进行字节顺序的转换
2. 指针操作, 如:
unsafe{
int dest =0;
byte * bs = (byte*) &src, bd = &dest;
bd[0] = bs[3]; bd[1] = bs[2]; bd[2] = bs[1]; bd[3] = bs[0];
}
3. 位移操作
dest = ( (src & 0xFF000000) >> 24) |
( (src & 0x00FF0000) >> 8) |
( (src & 0x0000FF00) << 8) |
( (src & 0x000000FF) << 24)
通过测试(见测试代码), 指针操作为最快的一种,其次就是位移操作,这两种运算方式都比 IPAddress的方式要快一倍以上.
***** test.test.Efficiency
IPAddress used: 223 ms
byte* used: 110 ms
shift used: 122 ms
***** test.test.Efficiency
IPAddress used: 219 ms
byte* used: 110 ms
shift used: 122 ms
***** test.test.Efficiency
IPAddress used: 221 ms
byte* used: 108 ms
shift used: 121 ms
***** test.test.Efficiency
IPAddress used: 181 ms
byte* used: 147 ms
shift used: 160 ms
***** test.test.Efficiency
IPAddress used: 290 ms
byte* used: 140 ms
shift used: 170 ms
- 三种数据转换的执行效率比较
- 三种数字型转成字符型方法的效率比较
- 三种数组去重方法的遍历效率比较
- 三种数据库执行
- 比较三种数据类型的类模板
- 求逆序数的三种数据结构比较
- Mysql常用的三种数据库引擎比较
- QT中三种数据类型之间的转换:
- QT中三种数据类型之间的转换:
- Json,String,Map 三种数据之间的转换
- 【测试】两种数据库,四种分页算法的效率比较
- 【测试】两种数据库,四种分页算法的效率比较
- 两种数据库,四种分页算法的效率比较
- 两种数据库,四种分页算法的效率比较
- Matlab三种数组间的转换
- eval和函数执行的效率比较
- 数组方法执行效率的比较
- 多种编程语言执行效率的比较
- 属性复制
- Javascript中的this
- MOSS应用程序页面的HelloWord示例代码
- 发布网站遇到的问题
- JAVA日期
- 三种数据转换的执行效率比较
- 文件删除 移动 新規
- android如何实现webkit开发
- 软件项目管理师复习指南一:信息系统开发基础
- 成功开发iPhone软件的10个步骤
- js闭包的用途
- 2.2 Ant基本使用(三)
- 关于 android 远程控制(pc 控制手机)
- C#截屏程序实现(随笔日记)