Issue #17335 has been updated by Andrew Gaffney.

I now have this narrowed down to the lookupvar() function. It is noticeably 
slower in 2.7.19 than in 2.6.12.

15:42 < agaffney> debug: call to scope.lookupvar() for legacy_groups took 
0.000124 seconds (2.6.12)
15:42 < agaffney> debug: call to scope.lookupvar() for legacy_groups took 
0.058878 seconds (2.7.19)
15:42 < agaffney> other calls to scope.lookupvar() are consistently longer for 
the same manifests

A quick calculation shows that lookupvar() takes 475 times as long to run in 
2.7.19 than in 2.6.12.
----------------------------------------
Bug #17335: Handling of defined resources is significantly slower in 2.7.19 
than 2.6.12
https://projects.puppetlabs.com/issues/17335#change-75717

Author: Andrew Gaffney
Status: Unreviewed
Priority: Normal
Assignee: 
Category: 
Target version: 
Affected Puppet version: 2.7.19
Keywords: 
Branch: 


I've been doing some comparisons of catalog compile time between 2.6.12 and 
2.7.19 in preparation for doing an upgrade. For most nodes, the catalog 
compilation time goes down. For my nagios servers, it goes up...drastically.

I added some debugging code to time the 
evaluate_{generators,collections,definitions} functions as that's where most of 
the time seemed to be going.

2.6.12:

debug: evaluate_collections() took 0.003229 seconds
debug: evaluate_definitions() took 42.65947 seconds
debug: evaluate_collections() took 0.010716 seconds
debug: evaluate_definitions() took 115.365583 seconds
debug: evaluate_collections() took 22.686326 seconds
debug: evaluate_definitions() took 52.906777 seconds
debug: evaluate_collections() took 1.122837 seconds
debug: evaluate_definitions() took 7.981192 seconds
debug: evaluate_collections() took 1.181 seconds
debug: evaluate_definitions() took 0.062297 seconds
debug: evaluate_collections() took 1.375645 seconds
debug: evaluate_definitions() took 0.095662 seconds
debug: evaluate_generators() took 245.456254 seconds

2.7.19:

debug: evaluate_collections() took 0.003082 seconds
debug: evaluate_definitions() took 90.218711 seconds
debug: evaluate_collections() took 0.011682 seconds
debug: evaluate_definitions() took 233.494054 seconds
debug: evaluate_collections() took 35.162047 seconds
debug: evaluate_definitions() took 81.172985 seconds
debug: evaluate_collections() took 38.45576 seconds
debug: evaluate_definitions() took 12.677507 seconds
debug: evaluate_collections() took 36.425026 seconds
debug: evaluate_definitions() took 0.055544 seconds
debug: evaluate_collections() took 37.27485 seconds
debug: evaluate_definitions() took 0.093251 seconds
debug: evaluate_generators() took 565.050061 seconds

The manifests for this node are complex and can't easily be distilled into a 
test case. There are a lot of defined resources (5095 in this case), but that 
shouldn't directly factor into the increase in compilation time.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to