I guess serialize mechanism cant use any char that can be part of a
PHP variable. And "_" can. As property names respect binary
compatibility, the only char that can be used to mark private
properties is actually the NULL byte. Ping me if I'm wrong.

But I'm +1 for improving the serialize() speed, I had problems
recently with it, and igbinary came to save me as well :)

Julien.Pauli

On Sun, Nov 28, 2010 at 5:15 PM, Jonathan Bond-Caron <jbo...@openmv.com> wrote:
> On Thu Nov 25 12:47 PM, Andi Gutmans wrote:
>>
>> I know there have been some high-end apps that have benefited from
>> some custom serializers, etc... (typically platform dependent).
>> I wonder if people here think improvements in these areas would move
>> the needle for the majority of mainstream apps or not.
>>
>
> Like people have mentioned, improving (un)serialize speed would be a huge
> benefit, especially for caching data sets or large objects.
>
> From experience, it would seem valuable to have:
> 1) serialize_text($var)
>
> The existing serialize() minus the NULL bytes on private properties. It has
> been a source problems for developers serializing an object with private
> properties and storing it in a database (the string may get cutoff).
>
> I'm not sure why there's a NULL byte in 'zend_mangle_property_name', instead
> the char "_" could be used to mark a private property in the serialized
> text.
> The unserialize could be BC compatible accepting both NULL and "_" around a
> private property.
>
> 2) serialize_binary($var)
>
> An efficient and compact serialization using techniques from igbinary.
>
> A potential problem with igbinary I've noticed is it packs a double as a 64
> bit integer.
> That could be a problem if you serialize on a platform that has an IEEE 754
> binary representation and unserialize on a non-IEEE platform but I don't
> know if php compiles on architectures that are non-IEEE.
>
> It could also be interesting to pack integers as varints:
> http://code.google.com/apis/protocolbuffers/docs/encoding.html#varints
> http://protobuf-c.googlecode.com/svn/trunk/src/google/protobuf-c/protobuf-c.
> c
>
> That's most likely slower though then what igbinary does with integers
>
>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to