On 12/29/11 19:45, Brock Pytlik wrote:
Webrev:
https://cr.opensolaris.org/action/browse/pkg/bpytlik/performance
Bugs:
19104 CliTestCase.pkgsend needs to display traceback when pkgsend
tracesback
19113 old dictionary in imageplan.__find_all_conflicts should be seeded
using old_excludes
19119 generic.get_varcet_keys shouldn't use startswith
19120 Image shouldn't load the action dictionary twice during an update
19121 if actions.offsets includes number of lines with the same key,
things can be faster
19122 pkgplans should hold onto their manifests a bit longer
19123 maintaining a cache of created fmris while checking for
conflicting actions makes things faster
19124 conflicting actions should use sets of strings instead of PkgFmris
19125 pkg_solver should stop creating the same pfmris over and over
19126 manifests should track what's been excluded from them
19127 compiling re's in facets is faster than using fnmatch
While these numbers will vary depending on the number of publishers
configured, the size of their catalogs, the number of packages installed
etc... I think they're reasonably representative. All numbers given
refer to the planning step of the operation (ie, what happens when you
run the command with -n).
On my x86 machine with multiple nightly publishers configured, planning
an update from roughly build 2 to build 5 is roughly 34% faster and uses
7% less memory. (It also creates 75% fewer PkgFmri objects and 41% fewer
actions.) Planning a change-variant operation is 34% faster, uses 4%
less memory. (It creates 81% fewer PkgFmri objects and 46% fewer
actions.) Planning a small install operation is 11% faster but does use
2M more memory (a 1% increase). Planning an uninstall operation is 9%
faster but does use 1M more memory (a 0.5% increase).
Before I forget, what does SPARC performance look like after this
change? I'm concerned about possible regressions.
As an aside, I tested your patch with my optimised build of Python 2.6,
and I still see around a 30% improvement on my x86 system.
Specifically, an update -nv '*@latest' takes about 1m38s before your
changes and about 1m10s after.
-Shawn
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss