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..net/detail/wzjin/8822651
结论:
1、还是原生的socket快;
2、如果很在意性能和对系统的掌控,建议还是采用原生的好。
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
flutter学习dart笔记(三)