Performance Improvements in Songbird 0.6!

By raffel raffel Permalink

Over the past few months we’ve heard from a number of users asking us to focus on performance optimizations for the next version of Songbird. Today, we’re excited to share our progress. If you can’t wait for Songbird 0.6 to ship (it lands in early June) you can try our latest blessed nightlies and judge our performance improvements for yourself. Alternatively, you can watch the following video to see the progress we’re making!


Songbird Library Performance Enhancements from Songbird on Vimeo.

The screencast linked to above focuses on the performance gains we made during this release specific to optimizations around the library. You’ll note Songbird now supports importing and managing significantly larger media libraries, scrolling in the application is now fluid, and filtering media is much faster.

But wait, there’s more!

We have made some huge improvements that should greatly reduce memory usage on Windows and Linux. We now have jemalloc turned on for the base framework, XULRunner, on Win32 and Linux. We followed Mozilla’s lead and didn’t turn it on on the Mac because the OS X allocator performs well. On Linux, jemalloc has been turned on for over a month, but Win32 took a little more work.

We provide packages to the developer community of the Mozilla base of our code (XULRunner) in both release and debug mode. When we first tried to enable jemalloc + XULRunner the application would not compile out of the box when set to debug mode. We spent a lot of time and effort getting that specific configuration working, which was the cause of the delay for Win32. We’re currently working on upstreaming that patch, since Mozilla engineers ran into the same exact problem with Firefox a few days ago.

The performance improvement in memory is about 15-20%, depending on task. jemalloc is currently only used for the XULRunner stack; while this represents a significant portion of where we spend our processing time (as can be seen by the memory usage improvement), we’re investigating using jemalloc as the allocator for our Songbird stack.

jemalloc’s design goal was a “scaleable, concurrent” allocator. Since we make more use of multiple threads than many applications, we’re excited at the prospect of another possible performance gain.

Songbird 0.6 is still a few weeks out from launching, stay tuned for some additional performance improvements that will land that improve our search functionality!

Both comments and trackbacks are currently closed.

1 Trackback

  1. [...] playing with the nightly build of Songbird 0.6 pre today and am extremely impressed with how much faster it (finally) is with a large library on XP. And let me emphasize large library, as it exceeds 30k mp3s or the [...]

17 Comments

Subscribe
  1. Conor May 9, 2008 11:48 pm Permalink

    I think the screencast would have been worlds better, had it included shots from the old versions of Songbird, which indeed were badly slowed by large libraries.

    Just awesome to see you guys focusing on performance issues. Making this program light as a bird is so much more important to me than packing it chock full of features that are only going to slow it down more.

    Viva performance!

  2. raffel May 9, 2008 11:58 pm Permalink

    Thanks for the feedback, Conor. Koshi originally cut the video that way but it turned out to be too long so we decided to focus on only showing the improvements (instead of also highlighting the old issues.) But yeah, it’s all the more evident to witness the gains when you see the “before” and “after” videos side by side.

  3. cellarmation May 10, 2008 2:49 am Permalink

    I am looking forward to the memory improvements so i can just have more applications running at the same time, but the UI improvements look great too.

  4. Daniel Raffel May 10, 2008 9:34 am Permalink

    @cellarmation
    If you get a chance to run the blessed nightly before 0.6 comes out please let us know what you think!

  5. Nathan Dunn May 15, 2008 10:36 am Permalink

    I can’t wait, i hate how songs skip when browsing different web pages, with less system recourses needed it should preform better.

  6. Mike May 24, 2008 4:49 am Permalink

    I just started using Songbird today (0.5) and though I generally like it, I find it has a serious ‘bug’ that makes usage very weird. There’s always a slight delay between clicking a control and the actual music reacting. From play/pause to to volume control to the scrubber, the music always reacts a fraction of a second too late. Is this also a performance issue and is it fixed in 0.6 (or being worked on)?

    Keep up the good work, thanks!

  7. Eric Jun 3, 2008 10:30 am Permalink

    How can I get the album art cover flow add-on to work?

  8. Erik Jun 5, 2008 3:49 pm Permalink

    A much needed improvement. Im downloading 0.6rc2 right now.
    My library contains 26500+ tracks, and the ONLY player that has been coping with it is Rhythmbox. I’ve tried “Listen”, Amarok, Exaile, BMP, BMPx, Quojote (or someting like that) and some more. Songbird haven’t been up to par with Rhythmbox in library performance, but hopefully this will let me move over to Songbird for good. Keeping fingers crossed!

  9. atomicoz Jun 13, 2008 3:21 pm Permalink

    Just dropping a comment as well.

    It’s great to see you guys focusing on performance enhancements as I like it yet can’t use it since it freezes and bogs the computer too much because of my big media library. I got the mail about this release so will try out this new version :)

  10. pacsum Jun 20, 2008 10:11 pm Permalink

    Songbird needs to improve its memory usage. It would be better to leave out the firefox or firefox wannabe web browser and focus on the media player only.
    Linux needs a good media player g*d damn.

  11. Mante Jun 22, 2008 8:15 pm Permalink

    I Agree With Pacsum..
    Songbird needs to improve its memory usage. It would be better to leave out the firefox or firefox wannabe web browser and focus on the media player only.
    Linux needs a good media player g*d damn.
    Nice Work

  12. mikka Jul 4, 2008 1:01 pm Permalink

    I’m glad to see that you’re taking memory and large library improvements into your design…

    if I am ever to seriously switch from iTunes to Songbird, it will be solely for performance reasons – hands down. I’m running a Mac Mini 1.25ghrz maxed at 1GB ram, and with a 35k+ music library, iTunes hogs most of the resources on my computer. If songbird could improve this, I would switch immediately and endorse it full-heartedly.

  13. Oyvind Rosmer Jul 14, 2008 3:08 pm Permalink

    Great program, but have a little problem with the “Mediaflow” addon when browsing through albums artwork – it “lags” and the flow is very choppy, and my CPU usage rises to 100% when scrolling/browsing through albumartwork

  14. iuji Jul 22, 2008 12:27 am Permalink

    hi

  15. Chauncey Jul 24, 2008 8:12 pm Permalink

    Yes, I agree. Work on the performance aspect foremost (and CD support, PLEASE!). I’ll never use the browser, so I could care less how that’s coming along. As far as I’m concerned, I’d be overjoyed to see it removed, but, alas, that will never happen.

    Very impressed with the improvements, though. I can finally work with it.

  16. miguel Jul 29, 2008 1:18 am Permalink

    Good job!!
    the only thing is missing is an equalyzer
    do you plan to add it? when?
    thank you very much for song bird

  17. connor Jul 30, 2008 7:02 am Permalink

    So far so good. Optimization still needs addressing for large libaries. I hope Video Support is coming soon. Or did I miss something?

    Media Flow 2.3 is a good improvement since now it doesn’t get stuck on the same song as you move through the selection.

    Also the Album cover update doesnt’ always update the album cover.

    I hope to see this program trimmed down even more from the resources so that I can leave Itunes for good. The onscreen scrolling of the albums from Itunes is a nice touch but the scroll bar is effective from Media Flow. I know I am Apple-fied with some things. I have a 32GB Touch, 16GB 3G Iphone, and a 160GB ipod. I think they made some money from me :) I so like the touch features…

    Keep up the great work!! DOWN WITH ITUNES!! :)