On 2015-01-07 9:05, Romain F. wrote:

    There is probably lots of duplicated work going on at the levels above
    and those are causing those generic methods to light up (except
    Puppet::Resource.initialize).

    There is both the deserialization process as such to optimize, but also
    the Resource implementation itself which is far from optimal.

    The next thing would be to focus on Resource.initialize/from_data_hash


Agreed, but I can't do that on my own in timely fashion. We just want
puppet devs  to be aware that Puppet::Resource gets more features but
performances is not following anyhow, and it's getting worse in puppet
4. I don't really now how it can be adressed.


We recently discussed how to keep an eye on performance regressions like this one. We were very observant on the 4.x "future parser" changes and that they performed well - I guess that work overshadowed performance regressions in other areas.

I think the problem should be logged as a ticket with the findings so far (big thanks you for taking the time and doing the detective work and profiling!)


    I think it is also relevant to establish some kind of "world record" -
    say serializing and deserializing a hash using MsgPack; a hash of data
    cannot be transported faster across the wire than that (unless also not
    using Ruby objects to represent the data - with a lot of extra
    complexity).

    I mean, a hash of some complexity will always consume quite a bit of
    processing and memory to get across the wire. Is it hitting the "world
    record" enough?

That's not the point, like I said, this performance gap is coming from
the creation the Graph itself, not the deserialization from PSON or
MsgPack. In my case, in the 4 sec deserialization, 3.5 secs is the
from_data_hash.

ok, point taken, you already established that.


--

Visit my Blog "Puppet on the Edge"
http://puppet-on-the-edge.blogspot.se/

--
You received this message because you are subscribed to the Google Groups "Puppet 
Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/5595B6A5.8030804%40cloudsmith.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to