SQLite Memory Preferences

By Matt Matt Permalink

Quick update:

Closing Bug 14442 made it possible to fine-tune how much memory Songbird uses to load and display your library.

Up to this point Songbird has allowed SQLite to cache whatever it wants, meaning that over time your entire library database can end up in RAM.

01_hungry_0

We’re changing this with 1.1, and are in the process of coming up with some heuristics. If you’d like to help out, or want explicit control over SQLite memory usage, try the new preferences in a nightly build after January 30th.

Both comments and trackbacks are currently closed.

10 Comments

Subscribe
  1. toe_head2001 Jan 30, 2009 8:53 pm Permalink

    So have you set default memory limits, or is it still uncapped by default?

  2. improve your memory Jan 31, 2009 2:57 am Permalink

    I think its uncapped by default.

  3. Ken Jan 31, 2009 7:38 am Permalink

    Well, this has never been a problem to me, but the fact that songbird is slooooow is a very serious problem. If I start typing in the search field, Songbird typically hangs for 20-40 seconds before it becomes responsive again.
    I doubt this is a bug. I rather suspect that a really awkward search algorithm is used and that the interface lacks proper multi threading.
    In fact, most web sites utilizing a centralized server and Ajax are alot faster than Songbird, so, something is seriosly wrong in the design/implementation of Songbird searches.

  4. Matt Jan 31, 2009 6:43 pm Permalink

    toe_head2001: Yep, still uncapped.

    Ken: Mmm, that sounds like a bug. Search with a 10,000 track library is instant with all the machines I’ve tried.

    What platform are you using / how big is your library / how much RAM do you have?

    You’re right about the multithreading though. The database query is executed on a background thread, but at the moment the tree view blocks waiting for the results. We’ve tried running it asynchronously, but scrolling doesn’t feel as responsive, and you end up with blank rows for a moment. This will be fixed at some point.

  5. cellarmation Feb 1, 2009 2:21 am Permalink

    After leaving songbird running yesterday (Without anything playing, i think) i came back and it was using about 1.3gig of RAM. I am not sure but things seem to have got worse sinse i have installed the “Now Playing List” add on. Could this be speeding up the caching of into memory?

  6. Matt Feb 1, 2009 2:09 pm Permalink

    cellarmation: Yes, add-ons can have a huge impact on memory usage. I think MashTape may cause similar problems. Do you mind trying the same test with all add-ons disabled? Also, are you using the 1.1 nightly build, or is this 1.0?

  7. peter mboyo Feb 2, 2009 9:22 am Permalink

    thanks for all you do
    i’n in love with songbird^^
    but i have someone problem
    for put a song out the player
    or for the cds
    you are the pioneers

    merci pour tout ce que vous faites
    vous rendez l’expérience informatique simple et ludique
    quelques soucis cependant se dressent encore devant nous
    excusez-moi d’avance pour les comparatifs avec Itunes
    il faudrait que Songbird puisse créer son propre dossier et le maintenir organisé
    qu’il puisse extraire les cds
    pouvoir utiliser le raccourci CTRL+L pourrait s’avérer utile aussi
    finir la traduction française
    bref

    adepte de nouveautés je ne peux plus me passer de songbird
    mais je ne peux totalement délaisser Itunes
    qui selon moi intègre des paramètres beaucoup plus poussés

    merci de prendre en compte ce que je demande
    je pense que les personnes les plus réticentes
    cèderont à la tentation si vous ne faisiez que ce que je vous demandais
    mais connaissant les développeurs de votre trempe
    je sais que vous ferez beaucoup plus
    merci pour tout

  8. cellarmation Feb 3, 2009 9:48 am Permalink

    @Matt
    I disabled the Now Playing List a day or two ago, and I haven’t seen the problem since. I was using 1.0, with mash tape and lyric master. I don’t know but I have a feeling it might be something to do with the combination of those three. When it was eating up all my RAM lyric master and mash tape were trying to refresh a lot, but maybe that was just because everything was lagging.

  9. rockstar1707 Feb 11, 2009 10:35 pm Permalink

    Cool :)

    With this nightly build and settings mentioned above:

    songbird.dbengine.cacheSize = 180
    songbird.dbengine.softHeapLimit = 3145728

    I can finally use Songbird again. Even after few hours of playing memory consumption doesn’t go over 100 MB or so. In version 1 RAM usage went over 400 MB in 3 or 4 hours. I’m using it on Pentium 4 with 1 GB or RAM.

    I’m just curious why these aren’t default settings? To me it seams that the performance is the same as in old versions of Songbrid.

  10. Matt Feb 26, 2009 3:31 pm Permalink

    @rockstar1707 you win! pvh ran some tests and discovered that there really isn’t much benefit unless you have the entire database in memory. Therefor, if you’re going to restrict it, restrict it a lot.

    For 1.1 I think we’re going to a cache size of 200.

    Thanks for your feedback.