diff options
author | Luke Kanies <luke@madstop.com> | 2007-11-07 16:25:04 -0600 |
---|---|---|
committer | Luke Kanies <luke@madstop.com> | 2007-11-07 16:25:04 -0600 |
commit | 3f21e93599653e3a6c82ab0a131ce250503a771e (patch) | |
tree | b5a72a32423ce158efdba61e0abd82416c0e90ff /lib/puppet/parser/functions.rb | |
parent | ef9949502a1e393d14e8289c507ee3f3509a5350 (diff) | |
download | puppet-3f21e93599653e3a6c82ab0a131ce250503a771e.tar.gz puppet-3f21e93599653e3a6c82ab0a131ce250503a771e.tar.xz puppet-3f21e93599653e3a6c82ab0a131ce250503a771e.zip |
Adding a new graphing base class, because the GRATR stuff
is just too slow. This class has just about no iteration,
and vertex deletation is dramatically (as in, 1000x) faster).
Here are the results of some very simplistic graph operations:
Vertex tests (add and remove 1000 vertices):
gratr: Add: 0.01; Remove: 9.70
simple: Add: 0.02; Remove: 0.01
Edge tests (add and remove 1000 edges):
gratr: Add: 0.02; Remove: 0.03
simple: Add: 0.07; Remove: 0.02
I expect I can get the cost of the edge addition down some, but even
as it is, it's a couple of orders of magnitude faster.
This doesn't even count things like searching, which I did some other
testing on and got consistently faster results (somewhere between 1.5x and
1500x faster, depending on how the test was set up and how big the graph was).
Diffstat (limited to 'lib/puppet/parser/functions.rb')
0 files changed, 0 insertions, 0 deletions