Bug 153568

Summary: package manager is very very slow
Product: [openSUSE] SUSE Linux 10.1 Reporter: Jon Nelson <jnelson-suse>
Component: BasesystemAssignee: Klaus Kämpf <kkaempf>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Beta 5   
Target Milestone: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Jon Nelson 2006-02-26 01:44:34 UTC
I noticed this with beta's 3, 4, and now 5.
Both the graphical and the text mode yast package management software is VERY VERY slow when installing packages.  Right now I have some 600MB to install over a local lan and the time estimate is over 2 hours. This is on a 1.8 GHz machine with a reasonable disk.  That is extremely excessive.  Is the cause that there is a bunch of debug code enabled or something, because an strace of y2base shows huge quantities of fairly expensive read and write calls, the contents of which are single characters.  (read and write of 1 byte at a time).  I suspect that this is for updating the status display from RPM but *something* has gone horribly wrong from an efficiency standpoint.

I'm hoping someone can shed some light on the cause and hopeful solution to this problem
Comment 1 Michael Gross 2006-02-27 11:54:32 UTC
OK this is not connected to the new packager backend as it was introduced in b4. Since b4 however, there is a lot of logging activity to make debugging easier with the new backend.

This could be a problem with RPM itself. Try executing `time rpm -e kernel-source', how long does this take?
Comment 2 Jon Nelson 2006-02-28 04:36:06 UTC
Couldn't find kernel-source, I used OpenOffice_org (monster rpm!)

19s to remove
1m30s to rpm -Uvh

That's rather less time than I saw the installer take for much, much smaller rpms.
Comment 3 Jon Nelson 2006-02-28 04:37:02 UTC
I could be mistaken about beta3, but I don't think so.
I could try a reinstall in the next few days, but it takes /time/ and I don't have much to spare.
Comment 4 Michael Gross 2006-02-28 13:39:32 UTC
OK this seems to be another problem then.
At first correct the hardware-field (which is `other' atm) and attach the logs in /var/log/YaST2.
Comment 5 Jon Nelson 2006-02-28 15:23:28 UTC
I'd like to note that general slowness of installation has been a problem for as long as I can remember using SUSE, however with the recent betas that slowness has been magnified considerably.
Comment 6 Michael Gross 2006-03-01 10:20:58 UTC
Please attach the YaST logfiles, I'll reassign the bug after that.
Comment 7 Michael Gross 2006-03-01 15:08:36 UTC
New development: I think the team around zypp is currently working on this problem and fixing some performance issues. I'll reassign this to Klaus for a comment.
Comment 9 Klaus Kämpf 2006-03-01 15:12:23 UTC
Several things lead to this
- insufficient information about language dependencies, so the resolver has to evaluate multiple branches (fixed in beta6)
- excessive debug (well, we're still in development)
- std::set in libstdc++ is very slow (under investigation)
Comment 10 Jon Nelson 2006-03-05 02:28:37 UTC
Cool - beta6 was much faster, although still not up to par. I can only assume that plenty of debugging code and other known factors are contributing, so please just take this as a "beta 6 is much better" comment. 

Comment 11 Klaus Kämpf 2006-03-05 14:31:43 UTC
Well, 'up to par' depends on the scale you're applying ;-)
It could be made fast by adding more hashes, which in turn will increase memory consumption.
However, it will probably not be as fast as YaST in 10.0 and before because
the new solver calculates more scenarios.

Anyway, I consider this fixed.