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.