Synching with iTunes takes minutes

Tekl's Avatar

Tekl

14 May, 2010 01:34 AM via web

I've a big iTunes library (about 30000 songs, videos and podcasts). Working with BeaTunes is a pain. It takes 10 Minutes to update the BPM for some new songs. Launching of BeaTunes takes a minute and then Synching with iTunes can take 15 Minutes if my Computer is doing other things. Other Apps like iVolume are much faster reading the Library file.

  1. Support Staff 2 Posted by hendrik on 14 May, 2010 06:38 AM

    hendrik's Avatar

    Hi,

    What kind of hardware do you have?
    Are your songs stored on the internal or an external disk?

    Could you simply start up beaTunes, do a sync, shut down beaTunes after the sync and send me your logs?

    Thanks,

    -hendrik

  2. 3 Posted by Tekl on 14 May, 2010 04:52 PM

    Tekl's Avatar

    Hi,

    thanks for the reply. I deleted the log files and started BeaTunes in a real life situation (last reboot is 5 hours ago).

    Startup time: between 3 and 4 minutes
    Synchronisation time: more than 4 minutes
    Shutdown time: some seconds (it’s oft much longer)

    I have a white iMac 24" 2.16 GHz Core 2 Duo with 3 GB Ram.

    No other processes are doing hard work, but I've some Apps open (Mail, iCal, iTunes, Safari with 30 Tabs, Espresso, Textmate, Photoshop and Yummy FTP).

    After rebooting my system its often much faster for a while, even with all those apps open. It's even faster when I do hard stuff in Photoshop.

    iTunes Statistics:
    33434 Songs
    788 TV Shows
    46 Movies
    775 Podcasts
    142 Apps
    308 GB Size

    I hope it helps.

    Tekl

  3. Support Staff 4 Posted by hendrik on 14 May, 2010 05:07 PM

    hendrik's Avatar

    Safari with 30 tabs probably eats all the memory you have! :-)

    But seriously, do you have any memory left at all before you start
    beaTunes?
    You can check with Activity Monitor (under Applications/Utilities).

    -hendrik

  4. 5 Posted by Tekl on 14 May, 2010 07:13 PM

    Tekl's Avatar

    Before Launching BeaTunes there's 450 MB free. During the synchronisation it goes down to 50 MB. But you're right. Safari is a memory eater. So I tried it without Safari and 500 MB while BeaTunes is running. It has no effect.

    If iTunes is synching my iPod I launch BeaTunes it extremly slow at all, even the CPU and memory have enough to breathe. Then also Safari is very slow. I don't have this effect when launching iVolume. It's also remarkable slower than without iPod sync, but not so extremely than with BeaTunes and also Safari can be used.

    Couldn't you implement a library free mode which just processes the songs which I've selected in iTunes. I often decide not to launch BeaTunes for 12 new tracks because it takes longer than measuring the BPM by hand. Before BeaTunes I used Tangerine which was not that accurate at the BPM detection but much faster in launching.

  5. Support Staff 6 Posted by hendrik on 17 May, 2010 08:05 AM

    hendrik's Avatar

    Hi,

    I had a chance to look at your log file and having seen it doubt this has anything to do with lack of memory.

    When you produced the log file, how did you initiate synchronization?
    Were there any messages?

    Also, because there is a peculiarity in the file. would you mind producing another one? I'd like to check whether this issue is the rule on your system or the exception.

    Thanks,

    -hendrik

  6. 7 Posted by Tekl on 20 May, 2010 12:32 AM

    Tekl's Avatar

    Hi,

    thanks for the investigation.

    I launch the sync manually because the sync on focus makes beaTunes unusable for me. (I often switch between iTunes/beaTunes to check something)

    Sometimes I get the message that beaTunes is locked when launching beaTunes. But beaTunes never crashed and seems always to quit successfully.

    For the attached log files I started beaTunes with 1 GB memory free. It starts faster and synching is also faster, but not fast. I can see that beaTunes is a big memory eater compared to iTunes. It needs twice to triply as much real and virtual memory than iTunes (phy: 551 GB, virt: 700 GB).

    Whe synching more often in one session it seems to be faster and faster. When I relaunch bT, synching is slower again.

    Well, as I did some things in bT to give you a good log file I experienced that it doesn't want to quit. Well it's all slow then, as Time Machine was working. I forced quitting and relaunched bT and it does not say the database is locked. At this time the synching was very very slow again and the hard drive working hard (only bT, iTunes and Webkit with one page running and 260 MB free)

    I stopped analyzing and (successfully) restarted bT and now it tells me it is locked. At lest it's synching faster again.

    Very strange behaviour. It seems that quitting lots of Apps will speed up beaTunes, but as beaTunes is slow in analyzing I want to do different tasks (surfing, iTunes tagging etc.) in the meantime. Other Apps have no problems when running in background.

  7. Support Staff 8 Posted by hendrik on 21 May, 2010 12:08 PM

    hendrik's Avatar

    Thanks for the logs... Can you please also send me your "iTunes Music Library.xml" file (zipped/archived)?

    I hope to be able to look at this during the next week.

    Thanks,

    -hendrik

  8. 9 Posted by Tekl on 22 Jul, 2010 03:59 PM

    Tekl's Avatar

    I thougt I gave you the link.

    Here is it again: http://dl.dropbox.com/u/102599/iTunes%20Music%20Library.xml.zip

  9. Support Staff 10 Posted by hendrik on 28 Jul, 2010 02:12 PM

    hendrik's Avatar

    Hi Teki,

    I played around with the library and it takes about 25sconds to sync, but admittedly, I have a faster machine than you.

    Currently, the sync mechanism compares pretty much every item in your over 90mb large iTunes Music Library with the corresponding item in the internal beaTunes database. I will have to find a more efficient way of doing this, but since this a major thing to do, it unfortunately won't happen for 2.1 anymore.

    Sorry - I know this is not a very satisfying answer.

    -hendrik

  10. 11 Posted by Tekl on 28 Jul, 2010 07:21 PM

    Tekl's Avatar

    Hi Hendrik,

    thanks for the reply. I can understand that you can't fix it in a couple of days. Here two workaround suggestions how to make it faster.

    1. Add a function to just sync the tracks which are selected in itunes.
    2. Add a function where I can add files from Finder to BeaTunes instead of using the iTunes Library. Maybe these songs could be added temporary to BeaTunes. After processing with BeaTunes I would move the files to iTunes.

    Tekl

  11. Support Staff 12 Posted by hendrik on 29 Jul, 2010 08:37 AM

    hendrik's Avatar

    Hi,

    thanks for your suggestions.

    1. is not possible, because an application outside of iTunes cannot find out, which songs are selected
    2. this would be a lot of work for a workaround - I'd rather get the sync right.

    -hendrik

  12. 13 Posted by Tekl on 29 Jul, 2010 05:41 PM

    Tekl's Avatar
    1. That's not true. iVolume and Tune•Instructor are doing this and also it's easy from AppleScript.
    2. I understand.
  13. Support Staff 14 Posted by hendrik on 29 Jul, 2010 08:49 PM

    hendrik's Avatar

    Really? How?

    But that aside - syncing just a few songs selectively would also not fit into the current state of things and cause a lot of work. Unfortunately.

    I started working on improving sync for beaTunes 3 and hope it will be much faster.

    -hendrik

  14. 15 Posted by Tekl on 30 Jul, 2010 12:06 AM

    Tekl's Avatar

    AppleScript:
    tell application "iTunes"

    repeat with i from 1 to number of items in selection
        set this_track to item i of selection
        -- do some stuff
    end repeat
    

    end tell

    You could also ask Tibor, the Author of Tune•Instructor. He has rewritten his AppleScript App in ObjC.
    http://www.tune-instructor.com/com/contact.html

    BeaTunes still does not see some new tracks sometimes. So it wouldn't make any difference if it is by accident or by my own decision. You could use the same code, but you don't pull all tracks, just the selected ones.

    Isn't it the same:
    I delete some tracks in iTunes, sync in BeaTunes, re-add the deleted ones in iTunes and sync again?
    Or I select the not to be deleted Tracks in iTunes, sync in BeaTunes, select the remaining Tracks and sync again?

    In both cases the Songs appear in two steps into BeaTunes.

  15. Support Staff 16 Posted by hendrik on 30 Jul, 2010 08:24 AM

    hendrik's Avatar

    Thanks for your hint with the script - I wasn't aware of it. Unfortunately, I'm not aware of an equivalent on Windows :-(

    The way sync works in beaTunes is as follows:

    beaTunes watches the iTunes Music Library.xml file. If it has been modified since the last time you synced, it will be re-read. That's the sync. I.e. for changes to actually make it over to beaTunes, iTunes has to have completely rewritten that file - in your case almost 100MB. This can take a little while.

    The alternative - talking via AppleScript/COM to iTunes to ask for contents of playlists etc. is not feasible for beaTunes, since Inspection etc. wouldn't work that way. Also, I doubt that it would be a lot faster.

    Regarding your two step question - I'm not sure I understand what you're getting at. But in any case - beaTunes (right now) will read the entire iTunes Music Library.xml on each sync. Just reading the portions of the file that correspond to selected files is not possible.

    I'm working on avoiding parsing the whole file the way I do right now.

  16. 17 Posted by Tekl on 30 Jul, 2010 01:41 PM

    Tekl's Avatar

    Hi and thanks for the detailed reply.

    iVolume is much much faster reading the whole xml file. But it also is a pain when I just want to complete my tags for just one song.

    Is there a way to just use the analysis from the terminal without taking minutes for loading the GUI?

    If I hadn't to use 3 Apps for my tasks after buying songs it wouldn't bother me as I could run all processes at night. But BeaTunes is missing ReplayGain and good or custom lyric search.

    Well it's a matter of Workflow. I use BeaTunes, iVolume and Tune•Instructor just for some minutes to process my new songs and then I quit them. For Playlists and Management I only use iTunes.

  17. Support Staff 18 Posted by hendrik on 01 Aug, 2010 08:53 AM

    hendrik's Avatar

    Hey,

    iVolume certainly has different needs, when it reads the XML - beaTunes actually merges it with its internal database. I doubt that iVolume needs that. Also, beaTunes is written in Java, which tends to be just a little slower than a native app.

    Anyhow. To answer your question, no, there is no non-GUI mode and I'm not sure it would speed things up very much.

    But I will work on getting this faster..

    -hendrik

Reply to this discussion

Internal reply

Formatting help or Preview

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.