.NET 中对 PHP、Binary、SOAP、XML、JSON、Hessian 等序列化的效率对比
来源:互联网 发布:数据分析实训总结 编辑:程序博客网 时间:2024/05/16 09:13
下面是对在 .NET Framework 3.5 中对 PHP、Binary、SOAP、XML、JSON、Hessian 和 Burlap 序列化/反序列化的效率对比,其中 PHP 序列化来自最新版本的 PHPRPC 3.0.1 for .NET,Hessian 和 Burlap 序列化来自Hessian C# 的最新版 1.3.3,其它的序列化都是采用 .NET Framework 3.5 中内置的功能。
测试程序可从此处下载:test.zip
下面是测试程序的运行结果图:
从上面的运行结果来看 PHP 序列化和反序列化:
对于基本类型的效率跟 Hessian 不相上下,远远超过其它序列化方式,甚至比 .NET 的 Binary 序列化和反序列化都要快好几倍。但是 Burlap 不支持浮点数的无穷大表示。
对于字节数组来说,速度是 Binary 序列化的 2 倍,是 Hessian 的 10 倍,是 Burlap 的 25 倍,是 SOAP 的 36 倍,是 JSON 的 1000 多倍!
对于数组来说,具有相同元素的数组,比 Binary 序列化要差一些,但是远远超过 SOAP、XML、JSON、Hessian 和 Burlap。具有不同元素的数组,跟 Binary、Hessian 序列化效率接近,比 XML、JSON、Burlap 稍快,远远超过 SOAP。
对于 Hashtable 来说,效率也是超过 .NET Binary、Hessian 和 Burlap 序列化。比 SOAP 快近 10 倍,比 JSON 快了近 100 倍!而 XML 不支持。
对于 ArrayList 和自定义类型来说,效率不如 .NET Binary 序列化,但是仍然远远超过 SOAP、Hessian 和 Burlap,而 XML 和 JSON 则根本不支持。
而在空间占用上,其效率也超过了 Binary、SOAP、XML、Burlap,在基本类型上与 JSON、Hessian 不相上下,对于数组、Hashtable 则远远超过 JSON。
所以,从上面的对比来看,PHPRPC 中所使用的 PHP 序列化是一种非常高效的数据表示方式,远远超过 SOAP、XML、JSON、Burlap 等序列化方式。其效率跟 .NET Binary、Hessian 序列化的效率可以算是不相上下,在综合水平上甚至超越了 .NET Binary、Hessian 序列化。另外在跨语言跨平台方面,PHPRPC 所使用的 PHP 序列化方式则比 .NET Binary 序列化要好的多,而 PHPRPC 本身又在稳定性、易用性、安全性、功能性和脚本语言的支持上又比 Hessian 好很多,通过这些数据我想更加可以说明 PHPRPC 的优秀了。
- .NET 中对 PHP、Binary、SOAP、XML、JSON、Hessian 等序列化的效率对比
- Java、PHPRPC、Hessian、Burlap、AMF3、XML 序列化的效率对比
- php serialize序列化使用 和json效率对比
- .NET 对象的序列化与反序列化 Binary,Soap,Xml
- java序列化和json序列化效率对比
- 关于JSON.NET中对json的序列化和反序列化
- .Net1.0和2.0下 soap序列化和binary序列化对比
- .Net1.0和2.0下 soap序列化和binary序列化对比
- .net自带二进制序列化,XML序列化和ProtoBuf序列化的压缩对比
- protobuf,json,xml,binary,Thrift之间的对比
- protobuf,json,xml,binary,Thrift之间的对比 .
- protobuf,json,xml,binary,Thrift之间的对比
- Thrift,protobuf,json,xml,binary之间的对比
- protobuf,json,xml,binary,Thrift之间的对比
- 发现一个比SOAP,RPC等更爽的工具hessian 及在PHP中的使用介绍
- protobuf,xml,json序列化后与解析时间的对比
- PHP中分隔符与连接符的效率对比
- 序列化框架的使用及性能对比Kryo、Hessian、Protostuff、java原生
- 6410之驱动程序的分层分离,总线设备驱动模型
- 进制转换
- 那迷们
- Android Sensor传感器系统架构初探
- TranslateAnimation详解
- .NET 中对 PHP、Binary、SOAP、XML、JSON、Hessian 等序列化的效率对比
- MyEclipse下载地址和破解 激活,java编写,适用于装有java环境的各种操作系统,win,linux,maxos
- erlang开发环境及开发工具配置
- 开源技术选型手册
- 用#import导入dll和用#pragma comment导入lib还有在程序中LoadLibrary加载dll 区别
- iPhone实现QQ等app中右拖动屏幕返回上一层视图切换的效果(继承UINavigationController)
- 让某个程序开机后自动运行
- Linux kernel路由机制分析
- mysql基础