background image

代码如下

:

 
git 

clone

 https:

//github.com/msgpack/msgpack.git 

cd msgpack/php 
phpize 
./configure && make && make install 
 
 
还是在

PHP 官网扩展找到了:http:

//pecl.php.net/package/msgpack 

最后更新时间:

2012-09-14,昨天的版本。 

附安装过程:

 

 
代码如下

:

 
wget http:

//pecl.php.net/get/msgpack-0.5.2.tgz 

tar zxf msgpack-0.5.2.tgz 
cd msgpack-0.5.2 
/usr/local/hx/php/bin/phpize 
./configure --with-php-config=/usr/local/hx/php/bin/php-config 
make && make install 
 
 
然后把

msgpack.so 加到 php.ini 里,重启 php,完成安装。 

 
开始测试:

 

$data

 = 

array

(0=>'abcdefghijklmnopqrstuvwxyz',1=>'厦门','abc'=>'1234567890'); 

 
分别对其

msgpack_pack,json_encode,serialize,长度为:50,62,87 

然后分别执行

10000 次,耗时:9.95 毫秒,17.45 毫秒,8.85 毫秒 

解开执行

10000 次,耗时:14.76 毫秒,23.93 毫秒,14.61 毫秒 

 
msgpack 的性能至少超过 json50%,虽然和 serialize 其实速度差不多,但 serialize 占用空间
明显比较多。

 

 
另外,

GBK 的程序方便了,中文也可以 msgpack_pack,用 json 的话还要批量转换成 utf-8

之后才能

json_encode。 

 
引用:
1,MessagePack 官方网站
2,MsgPack vs. JSON: Cut your client-server exchange traffic by 50% with one line of code
HN 评论地址:http:

//news.ycombinator.com/item?id=4090831

3,My thoughts on MessagePack
HN 评论地址:http:

//news.ycombinator.com/item?id=4092969