Mariano,

Am 23.07.2013 um 14:43 schrieb Mariano Martinez Peck <marianop...@gmail.com>:

> Norbert, does the model have lots of strings? Because if so you can try using 
> the compression. It may increase speed. There is always a trade off between 
> the additional time of compressing/uncompressing. But if the model has quite 
> an amount of strings, since writing to disk is also slow and the final stream 
> would be smaller, it could be faster. 
> 
thanks. Yes, the model is a lot of Dictionaries having string keys. And there 
are lots more. The usage of the model is write once read many. And 30ms is good 
enough for me. So I might try compression only to see the difference. Well, and 
maybe to reduce storage size. The mcz is now 261 kb. 

Thanks, I'll see but I am already satisfied with the current approach. 

Norbert

> Cheers, 
> 
> 
> On Tue, Jul 23, 2013 at 9:40 AM, Norbert Hartl <norb...@hartl.name> wrote:
> 
> Am 23.07.2013 um 14:23 schrieb "jtuc...@objektfabrik.de" 
> <jtuc...@objektfabrik.de>:
> 
> > Norbert,
> >
> > Am 23.07.13 14:07, schrieb Norbert Hartl:
> >> Joachim,
> >>
> >> I'm aware that you can do serialization/deserialization yourself. I was 
> >> asking for something to help along the way because a have quite some model 
> >> classes to cover. I want a more generalized way of doing it. As often I 
> >> really think about things _after_ I've sent the mail :)
> >
> > We seem to have a lot in common here. Regard it this way: sending the mail 
> > made you think again. So the mail itself was all but useless.
> >> I think I have to options:
> >>
> >> 1. The most generic one is serializing into Fuel and compile the ByteArray 
> >> in a method.
> >> 2. The most readable one will be using STON and compiling the STON string 
> >> into a method
> >>
> >> Maybe I should try both.
> > I'd be very interested in what you find. I guess Fuel is smaller and maybe 
> > even faster. STON, OTOH, is much friendlier for comparing versions and such.
> >
> Well, I can't look at the method but I don't find ByteArrays not that 
> interesting anyway. So the actual size of the serialized byte array is
> 
> (ByteArray streamContents: [:stream|
>                 FLSerializer serialize: TCAP current model on: stream ]) size
> 
> is 237445 Bytes. Serializing
> 
> [ MAPExampleModels class compile: 'tcap
>         ^ ', (ByteArray streamContents: [:stream|
>                 FLSerializer serialize: TCAP current model on: stream ]) 
> storeString ] timeToRun
> 
> took 647 ms
> 
> but
> 
> [FLMaterializer materializeFromByteArray: MAPExampleModels tcap] timeToRun
> 
> took only 30ms. Basically I'm not fond of putting too much binary stuff into 
> compiled methods but it is the most easy and reliable way of providing tests 
> with test data. The whole grammar is stored in methods as well. It is text 
> but….
> 
> I think I stay with it for a while.
> 
>  Norbert
> 
> 
> 
> 
> 
> 
> -- 
> Mariano
> http://marianopeck.wordpress.com

Reply via email to