SongKong Jaikoz

SongKong and Jaikoz Music Tagger Community Forum

Memory and multithreadedness

Currently on a Mac Pro that has 4 cores. While the processor utilization was higher during the acoustic id generation step, the looking up of tags via musicbrainz doesn’t seem to tax it very much. However, it seems in this step, I keep running out of memory (thank god I was able to save after the fingerprinting process). Currently in the Info.plist, I have

-Xms1024m -Xmx2048m

but if I put in

-Xms1024m -Xmx3072m

Jaikoz errors on load. What’s the maximum memory Jaikoz can utilize? (6GB RAM in machine currently)

Also, the matching of tags via musicbrainz is slow in comparison to the fingerprinting. What’s the bottleneck? You mention in another thread that this matching happens on the server while acoustic fingerprinting was local CPU bound. Are there any strategies for someone with a beefier system and more cores to do to help speed the process? Some secret setting called “Enable teh snappy”? :slight_smile:

[quote=wynlyndd]Currently on a Mac Pro that has 4 cores. While the processor utilization was higher during the acoustic id generation step, the looking up of tags via musicbrainz doesn’t seem to tax it very much. However, it seems in this step, I keep running out of memory (thank god I was able to save after the fingerprinting process). Currently in the Info.plist, I have

-Xms1024m -Xmx2048m

but if I put in

-Xms1024m -Xmx3072m

Jaikoz errors on load. What’s the maximum memory Jaikoz can utilize? (6GB RAM in machine currently)
[/quote]
If you enter maximum memory that is larger than is currently available (without swapping) it can cause this problem on OSX (but perhaps you could send me your log files to make sure). So the maximum you can specify depends upon what other applications are already running, please note this is the space allocated to Jaikoz as heap, the program itself requires another 200MB just to run (load the class files ecetera).

When you tag alot of files the information that is used to update the tags is held in memory until you actually save/discard the changes. One potential problem is that the image data for artwork can be quite large. I am working on improving the meory handling in Jaikoz so that it handles a shortage of memory better by releasing resources/ and or using secondary memory storage.

Fingerprinting is cpu intensive, when tagging from mb there is a mandatory limit that only one request can be sent to musicbrainz per second, so no how matter how fast your machine is it will always takes at least one second per track - further requests may also be required to get album information although this is cached so Jaikoz only gets the details one for an album once. If you want really accurate tagging then it will take longer than some other solutions, but of course you can leave it to run unattended.