Loading playlist files from network share is slow on 2.5.2

MOC version: 
2.5.2 vs. 2.6-alpha3

I have my complete music collection on a network drive (NFS on LAN).
I also have some internet radio playlist files in a separate folder, i.e. each playlist file usually just contains 1-3 streaming links.
I load them from the left pane with A to play them.

  • If they’re in PLS format this happens instantly
  • If they’re in M3U format it takes ~5s, it doesn’t matter whether there’s just 1 streaming link in it or dozens. It also doesn’t matter whether the playlist lists streaming links or a local files.

There is NO other lag at all with media playback through that network drive, not with moc or any other media player.

I have had this problem for - well, years - and today I had the idea to copy the whole playlist folder to the computers internal drive, and voilá! Even M3U playlists load instantly.

And another thing:
I compiled 2.6-alpha3, and that version loads even M3Us from the network drive instantly.

I can reproduce this 100% on 2 machines, both running Arch Linux.

So this post isn't a question or a problem, but a problem solved.
However, I find the behaviour so curious that I wanted to share it.
Possibly it can be of help.

NFS doesn't distinguish between M3U nd PLS; they're both just data to it. The MOC M3U parsing code doesn't know whether the file is local or remote; both get parsed in the same way, but, if anything, PLS should be slower than M3U as it involves seeking where M3U does not (but that doesn't apply to streaming links anyway).

Did you build MOC 2.5.2 yourself or use a Arch Linux package? I'm wondering if they applied some local patch which is responsible. It would be interesting to compare a locally built MOC 2.5.2 to the Arch Linux package (if that's what you used).

I don't recall any patches in this area between the two releases, but I do know that NFS latency is something which needs to be addressed at some point. However, that doesn't seem to be the cause of your problem.

Anyway, it's useful to know about the problem and that 2.6-alpha3 has solved it (somehow), so thank you for the report.

Did you build MOC 2.5.2 yourself or use a Arch Linux package? I’m wondering if they applied some local patch which is responsible.

Oh yes, I forgot to mention that.
ArchLinux applies two patches, you can see them here.
IMHO they're both trivial, not that I know much about coding.
I built 2.6-alpha3 with a modified version of that same PKGBUILD, so I am using these patches too.
I think every version of moc on the AUR uses them.
Unfortunately it also disables cache and debug, I might try to recompile with those (or at least debug) enabled to get more output.
I will upload my PKGBUILD to the AUR in a little while.