Re: [ANNOUNCEMENT] hprose-1.0.0 (stable) Released.
| From: | 马秉尧 | Date: | Thu, 02 Apr 2015 19:01:23 +0000 |
| Subject: | Re: [ANNOUNCEMENT] hprose-1.0.0 (stable) Released. | ||
| References: | 1 2 3 | Groups: | php.pecl.dev |
| Request: | Send a blank email to pecl-dev+get-12745@lists.php.net to get a copy of this message | ||
Hello, I am the maintainer of this extension. I’m sorry to release this extension without sending
email to this lists. In fact, a month ago, I talked about this extension in my reply email to
@Thomas Hruska. But I don’t know I made a stupid mistake, I forgot to fill peck-dev@lists.php.net
in CC addresses, since I have seen this email, today.
Now, I will talk about this extension.
The hprose is not a new project. It began 6 years ago. This project is designed to build a fast non
invasive remote service without IDL, and can be able to cross language, cross platform. I have
already implemented it for more than 20 programming languages. The PHP version is also have
implemented early. But the pure PHP version is running very slowly, so I made this extension.
A year ago, I wrote this extension in C++ with PHP-CPP (https://github.com/hprose/hprose-phpcpp
<https://github.com/hprose/hprose-phpcpp>), but
it is not fast as I expected. So I made a C version of it. It is this extension.
This extension is a part of Hprose for PHP(http://github.com/hprose/hprose-php <http://github.com/hprose/hprose-php>). It
implements hprose serialize, unserialize and RPC protocol abstraction layer. The http client and
server implementation are written in PHP.
The hprose_serialize/hprose_unserialize is very faster than json_encode/json_decode and
serialize/unserialize in PHP.
I tested two samples of data:
——————————
date_default_timezone_set("UTC");
$a = array("name" => "张三", "age" => 18, "生日"
=> new DateTime("1996-12-01"));
$a[0] = array();
for ($i = 0; $i < 10000; $i++) {
$a[0][$i] = $i;
}
——————————
hprose serialize Runtime:0.1732s
json encode Runtime:0.1809s
serialize Runtime:0.8132s
hprose unserialize Runtime:0.4894s
json decode Runtime:1.0057s
unserialize Runtime:0.6869s
hprose serialize/unserialize Runtime:0.6645s
json encode/decode Runtime:1.1910s
serialize/unserialize Runtime:1.5263s
——————————————
class User {
public $name;
public $age;
public $birthday;
public $male;
}
$user = new User();
$user->name = "Tom";
$user->age = 18;
$user->birthday = new DateTime("1996-12-01");
$user->male = true;
$a = array();
for ($i = 0; $i < 10000; $i++) {
$a[$i] = $user;
}
——————————————
hprose serialize Runtime:0.2019s
json encode Runtime:14.9729s
serialize Runtime:0.7270s
hprose unserialize Runtime:0.5670s
json decode Runtime:23.9245s
unserialize Runtime:1.0133s
hprose serialize/unserialize Runtime:1.1054s
json encode/decode Runtime:40.6623s
serialize/unserialize Runtime:1.9498s
> 在 2015年4月2日,下午7:21,Kevin Ingwersen (Ingwie Phoenix)
> <ingwie2000@googlemail.com> 写道:
>
> @Pierre
> I never knew extensions had to be registered? Dont get me wrong, I am not the maintainer, just
> curios actually.
> Say I wanted to make a module with bindings to libFLTK. Would i have to announce that somewhere
> - and where actually?
>
> Maybe the developer has done lots of testing already and can ensure stability. I looked though
> the github page for hprose and it actually is a very interesting concept! It also looks like a lot
> of work has gone into it already.
>
> On Do. Apr. 02 2015 11:20:09 Pierre Joye wrote:
>> hi,
>>
>> First release and 1.0.0 seems rather optimistic and also not following
>> our rules. Talking about that, where was the mail announcing this new
>> extension? :)
>>
>> Cheers,
>>
>> On Thu, Apr 2, 2015 at 1:24 PM, PECL Announce <pecl-dev@lists.php.net> wrote:
>>> The new PECL package hprose-1.0.0 (stable) has been released at
>>> http://pecl.php.net/.
>>>
>>> Release notes
>>> -------------
>>> Initial Hprose for pecl
>>>
>>> Package Info
>>> -------------
>>> Hprose extension for PHP.
>>> Hprose is a High Performance Remote Object Service Engine.
>>>
>>> It is a modern, lightweight, cross-language, cross-platform, object-oriented,
>>> high performance, remote dynamic communication middleware. It is not only easy to use, but powerful.
>>> You just need a little time to learn, then you can use it to easily construct cross language cross
>>> platform distributed application system.
>>>
>>> Hprose supports many programming languages, for example:
>>>
>>> AAuto Quicker
>>> ActionScript
>>> ASP
>>> C++
>>> Dart
>>> Delphi/Free Pascal
>>> dotNET(C#, Visual Basic...)
>>> Golang
>>> Java
>>> JavaScript
>>> Node.js
>>> Objective-C
>>> Perl
>>> PHP
>>> Python
>>> Ruby
>>> ...
>>> Through Hprose, You can conveniently and efficiently intercommunicate between
>>> those programming languages.
>>>
>>> This project is the implementation of Hprose for PHP.
>>>
>>> Related Links
>>> -------------
>>> Package home: http://pecl.php.net/package/hprose
>>> Changelog:
>>> http://pecl.php.net/package-changelog.php?package=hprose
>>> Download: http://pecl.php.net/get/hprose-1.0.0.tgz
>>>
>>> Authors
>>> -------------
>>> Bingyao Ma <mabingyao@gmail.com> (lead)
>>>
>>>
>>> --
>>> PECL development discussion Mailing List (http://pecl.php.net/)
>>> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
>