Request for review - std.serialization (orange)

Jacob Carlborg doob at me.com
Tue Jun 18 00:04:22 PDT 2013


On 2013-06-18 00:06, Francois Chabot wrote:

> Well, the main thing that I want on my end is a O(1) memory footprint
> when dealing with hierarchical data with no cross-references.

That's kind of hard since it creates data. But if you mean except for 
the data then it stores some meta data in order to support reference 
types. That is, not serializing the same reference more than once. 
Theoretically a template parameter could be added to avoid this, but 
that defeats the purpose of a class/interface design. It could be a 
runtime parameter, don't know how well the compiler can optimize that out.

> Even better would be that serialization being a lazy input range that can be
> easily piped into something like Walter's std.compress. I guess I could
> log an enhancement request to that effect, but I kinda felt that this
> was beyond the scope of Orange. It has a clear serialize, then deal with
> the data design. What I need really goes against the grain here.

I'm no expert on ranges but I'm pretty sure it can work with 
std.compress. It returns an array, which is a random access range. 
Although it won't be lazy.

The deserialization would be a bit harder since it depends on std.xml 
which is not range based.

> Once again, the sticking point is not the serialization format, but the
> delivery method of said data.

Ok.

> No! no no no. I just feel that Orange handles a big piece of the
> serialization puzzle, but that there's a lot more to it.

Ok, I see. But I need to know about the rest, what you're missing to be 
able to improve it. I have made a couple of comments here.

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list