On Mon, May 28, 2012 at 2:56 PM, Mariano Martinez Peck <
marianopeck(a)gmail.com> wrote:
On Fri, Mar 2, 2012 at 12:41 PM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
> Hi,
>
> Thanks for re-pinging us. I somehow did not see it before. Strange :).
>
> As far as I understand, you are worried about speed. Is that right?
>
I was playing a bit (updating Moose extensions to latest Fuel) and I also
noticed the same as Martin. The 70% of the export time is taken by these 4
methods: #numberOfLinesOfCode, #cyclomaticComplexity, #numberOfConditionals
and #numberOfStatements which seem to be computed during the export.
I don't really know much about Moose, but I attach a screenshot of the
profile.
sorry, here it is the attach.
So, is that correct/expect? are those values already
calculated/stored
somewhere?
thanks
>
> In any case, the problem with your proposition is that some properties
> are not stored in explicit instance variables, but in a dictionary in
> EntityState. That means that only looking at the instance variables
> you can miss important things. The ultimate truth of what needs to be
> serialized lies in the meta-description. I would not know how to go
> around that.
>
> Cheers,
> Doru
>
>
> On Fri, Mar 2, 2012 at 12:16 PM, Mariano Martinez Peck
> <marianopeck(a)gmail.com> wrote:
> > re-ping?
> >
> >
> > On Wed, Jan 4, 2012 at 10:47 PM, Mariano Martinez Peck
> > <marianopeck(a)gmail.com> wrote:
> >>
> >> ping?
> >>
> >> On Thu, Dec 29, 2011 at 4:31 AM, Martin Dias <tinchodias(a)gmail.com>
> wrote:
> >>>
> >>> Hello,
> >>>
> >>> I'm looking to improve current implementation, and maybe you can
help
> me.
> >>>
> >>> The current procedure is based in a custom serialization of each
> >>> MooseElement. It's inspired on MSE, I describe this with the
following
> >>> pseudo-code:
> >>>
> >>> serialize: aMooseElement
> >>> (MooseModel meta descriptionOf: aMooseElement class) allAttributes
> >>> do: [ :anAttribute |
> >>> | values |
> >>> values := anAttribute getFrom: aMooseElement.
> >>> (self shouldIgnore: anAttribute withAll: values)
> >>> ifFalse: [ self serialize: anAttribute withAll: values ] ].
> >>>
> >>> where:
> >>>
> >>> shouldIgnore: anAttribute withAll: values
> >>> ^ values isEmpty or: [
> >>> anAttribute isDerived or: [
> >>> anAttribute type == FM3MetaDescription boolean and: [
> >>> values size == 1 and: [
> >>> values first == false ]]]]
> >>>
> >>>
> >>> The advantage of serializing the MooseElements in this way (and not
> just
> >>> as a normal object) is to avoid storing unnecessary stuff that
> aMooseElement
> >>> references.
> >>>
> >>> It's a disadvantage using FM3PropertyDescription>>getFrom:
(and then
> to
> >>> import, FM3PropertyDescription>>setOn:values:) which ends sending
> #perform:
> >>> of the corresponding accessor selector. It'd be better to use
> #instVarAt:
> >>> (and #instVarAt:put:) as Fuel normally does.
> >>>
> >>> I hope I've been clear enough to explain up to this point. Now my
> >>> question:
> >>>
> >>> Do you think Fuel can do something on each MooseElement like
> >>>
> >>> - clean up some unnecessary references
> >>> - declare some instance variables as transient
> >>> - if it's not good idea to modify the elements, create a method
like
> >>> MooseElement>>copyWithoutDerivedValues, and so actually serialize
> such copy
> >>> instead of the original element
> >>> - any other
> >>>
> >>> ???
> >>>
> >>> and thus, serialize the MooseElements as normal Fuel objects, removing
> >>> the custom procedure.
> >>>
> >>>
> >>> I'll be happy to receive some help from Moose and Fame experts!
> >>> Thanks in advance.
> >>>
> >>> Martín
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Moose-dev mailing list
> >>> Moose-dev(a)iam.unibe.ch
> >>>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >>>
> >>
> >>
> >>
> >> --
> >> Mariano
> >>
http://marianopeck.wordpress.com
> >>
> >
> >
> >
> > --
> > Mariano
> >
http://marianopeck.wordpress.com
> >
> >
> > _______________________________________________
> > Moose-dev mailing list
> > Moose-dev(a)iam.unibe.ch
> >
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >
>
>
>
> --
>
www.tudorgirba.com
>
> "Every thing has its own flow"
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)iam.unibe.ch
>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
--
Mariano
http://marianopeck.wordpress.com
--
Mariano
http://marianopeck.wordpress.com