Wednesday, May 13, 2009

just when i think...

So I've flipped over into bug hunt mode and amongst the various other things I had to do today I decided to tackle some outstanding beasties.

The slowness of loading the slideshow wallpaper was one such problem to tackle. After a couple hours working on it, I managed to reduce the time to build a list of wallpapers by ~97% while also drastically reduce the memory usage. Can you say "low hanging fruit"? :)

What this means, for instance, is that the same 3,200 image and 84 package collection spread out across 91 directories (nested within 4 "top level" directories) went from taking ~14.5 seconds to load on my laptop (which is time spent waiting at log in) to ~0.4s.

Seeing as this process supports both regular image files for wallpapers as well as detecting wallpaper packages while recursing through the directories and avoiding duplicates, that's not too horrible. Probably still space for improvement somewhere in there, but I was feeling pretty good about myself and that little accomplishment ...

... until I read this email from Luboš on kde-core-devel. He wins. :)

9 comments:

Ramsees said...

"went from taking ~14.5 seconds to load on my laptop (which is time spent waiting at log in) to ~0.4s"

Lazy loading?

If not, wow.

Aaron J. Seigo said...

nope, exact same results.

it's not the actual image loading (before or after my changes), just the file path discovery.

which makes the 14s result really, really obviously bad :)

O tudo e o nada... said...

We have this patch in 4.2.4 or only in 4.3?

It is possible to download this patch?

Aaron J. Seigo said...

which patch, mine or Lubos'?

O tudo e o nada... said...

Lubos'

Aaron J. Seigo said...

4.3; i think it's a pretty big patch to backport at this stage.

m4ktub said...

If you just take numbers into account is really hard to beat 97% ;-). Congrats!

Anyway, I see that performance is back on topic. I remember the 3.4.x series where my computer seemed faster every update. It's a nice feeling :-).

Valerio said...

Thanks! I *hated* that dialog :P
It also became more and more large while it found even longer pathnames... *shivers*

avocadohead said...

Awww, you're heroes both. Go and rest on your laurels! (bloody prickly stuff, laurels...)