Park Framework wrote (on 23/09/2014):
PHP serialization is slowest in PHP Session, clients NoSQL, ...
I would like to have in PHP 7, a new serialization algorithm or custom
handler to serialize.
My opinion is that the best choice is to use msgpack, it is
+110% faster
-30% data size
HHVM discussed this issue, but all boils down to backward compatibility with PHP
https://github.com/facebook/hhvm/issues/2654
What do you think about this, maybe it's time to change the old
algorithm serialization, on something better?
Apart from the BC implications, using a binary serialization by default
might cause issues with anyone who is storing or passing the serialized
data somewhere which is not binary-safe. Admittedly, any object with
private properties generates a serialized form with null bytes, but many
values will consist entirely of ASCII characters, and some code may rely
on this being the case.
The format is also widely known, and has been implemented in other
languages for compatibility (although it is **not** suitable for
untrusted data exchange, as Anthony Ferrara tweeted a few months ago:
https://twitter.com/ircmaxell/status/452182852562862080)
We already have pluggable serializers for sessions (needed because the
serialization happens implicitly in the session handling code), and can
add as many functions for types of serialization as seem sensible, so
I'm not sure what the benefit of changing serialize()/unserialize()
themselves is.
Changing the default *session* serialization might be worth considering,
though, along with bundling something like igbinary or msgpack.
Oh, and a non-batshit version of session_decode() for manually invoking
session (un)serialization handlers :P
--
Rowan Collins
[IMSoP]
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php