A new version of the Software Manager is available in the repository. You can use the Update Manager to upgrade to it.
The Software Manager was rewritten from scratch in Linux Mint 9. It’s a very complex application, and it can be improved in many ways. Today we tackled the time it takes for the application to start. Basically it needs to process some 30,000 packages, a growing number of comments (we’re receiving about 200 comments per day at the moment) and match all that in categories and do some other fancy processing… Because of all this, it’s far from being immediate.
On the machine it’s developed on, during the Linux Mint 9 RC, the Software Manager used to take a rough 10 seconds to start. Improvements were released with the version that came with Linux Mint 9, and the startup was reduced to a rough 5 seconds. Today we managed to further reduce that time to roughly 2 seconds.
Results on various machines:
Of course, 2 seconds on a 4GB RAM Quad-Core workstation isn’t going to be 2 seconds on a 256MB RAM single-core laptop… but the speed improvements will be significant for all of us.
With the help of some of the users in the IRC chat room, we quickly ran the test and got the following results:
Clem:
- 7.1.4: 5224.497 ms
- 7.1.5: 1948.185 ms
- CPU[-Quad core Intel Core2 Quad Q6600 (SMP) clocked at 2399.858 Mhz-] Kernel[-2.6.32-21-generic x86_64-] Up[-1 day-] Mem[-1077.6/3964.8MB-] HDD[-1499.6GB(30.3% used)-] Procs[-202-] Client[-Shell-] inxi[-1.3.2-]
Remington:
- 7.1.4: 5691.338 ms
- 7.1.5: 1767.438 ms
- CPU[-Dual core AMD Athlon 7750 (SMP) clocked at 2700.357 Mhz-] Kernel[-2.6.34-020634-generic x86_64-] Up[-25 min-] Mem[-1002.6/3964.3MB-] HDD[-2078.5GB(79.1% used)-] Procs[-205-] Client[-X-Chat 2.8.6-] inxi[-1.3.2-]
Suhana:
- 7.1.4: 7937.545 ms
- 7.1.5: 3166.507 ms
- CPU[-Single core AMD Athlon 64 4000+ (UP) clocked at 2412.406 Mhz-] Kernel[-2.6.32-21-generic i686-] Up[-5:06-] Mem[-210.1/485.5MB-] HDD[-8.6GB(36.3% used)-] Procs[-135-] Client[-Shell-] inxi[-1.3.2-]
Artz:
- 7.1.4: 12687.454 ms
- 7.1.5: 7655.063 ms
- CPU[-Single core AMD Athlon 64 2800+ (UP) clocked at 1000.000 Mhz-] Kernel[-2.6.32-22-generic x86_64-] Up[-5:20-] Mem[-172.1/494.0MB-] HDD[-80.0GB(27.7% used)-] Procs[-127-] Client[-Shell-] inxi[-1.3.2-]
On your machine:
You can run your current version of the Software Manager from the terminal by typing “mintinstall”, you should see something like that:
add_categories took 1.169 ms
build_matched_packages took 0.189 ms
add_packages took 1862.525 ms
add_reviews took 3111.200 ms
__init__ took 5224.497 ms
The “__init__” line represents the overall startup time in milliseconds. If your reviews are out of date it will call “update_reviews”, if that’s the case, run “minstall” again to get a more accurate measure.
You can then upgrade to the latest version of mintinstall using the Update Manager, and run the test again to see how much faster it is on your computer.
What next?
Well, if you look at Artz’s results, it stills takes him about 8 seconds to start the Startup Manager. This means we’re not finished. Either we’ll manage to further reduce the startup time or we’ll come up with alternative ways of starting the application. Some possibilities include showing the application while the loading is happening in the background (in a way similar to the Update Manager), showing a splash screen before the application, or loading packages one after the other and letting the user browse and use the Software Manager while the applications and comments are still loading…
There’s also concerns with the delay it takes when you click the “install” or “remove” buttons. And finally, there’s a performance issue with clicking on some large categories, especially the “All packages” category, which features more than 30,000 packages. We might use paging for this or lazy-loading techniques.
Note about a regression in this update:
This update also removes the “Other” category and renames the previously called “System packages” to “All packages”. This last string is new, and it isn’t translated yet, so it will appear in English for all users. The translation template was updated in Launchpad and we’ll update the mint-translations package to fix this issue as soon as translations for this new string are made available by the community.