On Wed, Mar 20, 2013 at 7:14 PM, Maciej (Matchek) BliziĆski <[email protected]> wrote: > 2013/3/20 Peter Bonivart <[email protected]>: >> I still don't understand why remove is so slow when inserts are just >> as fast as before..? It uploaded, checked and inserted the package set >> all in one minute. > > The operation that takes the most time is fetching package metadata. > They are cached locally on disk, so subsequent runs of the script are > way faster, in the order of minutes, bottlenecking on catalog fetches. > Inserting packages does not need fetching all of package metadata. > > The problem is figuring out package's reverse dependencies. If you > want to check what depends on package X, you have to query every > single package in the catalog. Therefore a single run of > safe_remove_package.py requires fetching everything. > > I didn't want to complicate the code, even though I realized that some > operations are hilariously slow. I know it can be annoying, but I > didn't want to complicate the code, database and/or infrastructure any > further. You can call me lazy or far-sighted, I'll take both. :-)
Thanks for explaining, it's not a common enough op to justify optimizing I guess. Maybe just output something like "this may take a while" because with no output for over three hours I think most would have given up. Maybe there's a nice place somewhere in the code to output a dot for progress. :) _______________________________________________ maintainers mailing list [email protected] https://lists.opencsw.org/mailman/listinfo/maintainers .:: This mailing list's archive is public. ::.
