ice和java socket性能对比。

做了简单的性能测试对比,传递的都是4个英文字符。ice也是采用java调用的。

jdk8 x64位,编译等级1.7,本机windows 64位,4核4g内存测试。

Google Protocol Buffer版本2.5;
ice采用windows 32位,3.5.1版。

代码没有做过多的优化,连接的时间没有计算。

只测试了速度方面的,没有测试传输的包大小,没有做跨网络的测试。


java直接socket调用
TCP 调用100000次耗时: 4264 毫秒。
TCP 调用100000次耗时: 4093 毫秒。
TCP 调用100000次耗时: 3896 毫秒。
TCP 调用100000次耗时: 3904 毫秒。

第一种方法
ICE 调用100000次耗时: 6172 毫秒。
ICE 调用100000次耗时: 5987 毫秒。
ICE 调用100000次耗时: 5782 毫秒。
ICE 调用100000次耗时: 5715 毫秒。
第二种方法
ICE 调用100000次耗时: 6376 毫秒。
ICE 调用100000次耗时: 6390 毫秒。
ICE 调用100000次耗时: 6561 毫秒。
ICE 调用100000次耗时: 6373 毫秒。

本地方法
本地调用100000次耗时: 0 毫秒。
本地调用100000次耗时: 1 毫秒。
本地调用100000次耗时: 0 毫秒。
本地调用100000次耗时: 0 毫秒。


项目源码位置:

http://download.csdn.net/detail/wzjin/8822651


结论:

1、还是原生的socket快;

2、如果很在意性能和对系统的掌控,建议还是采用原生的好。



你可能感兴趣的:(开发技术)