Hi,
On Sun, 21 Feb 2021 at 13:58, Petteri Hintsanen <[email protected]> wrote:
> Hi,
>
> Thanks, this is very useful information.
>
> > 1. emms-info-taglib trims trailing white space in strings but
> > emms-info-native does not.
>
> Is this problematic? It is easy to add trimming if needed. Maybe even
> a defcustom.
>
My personal take is that trimming the whitespace is a good idea, if only
because other info sources do it.
> 3. emms-info-native--decode-info-fields is now returning nil for the 75
> > files for which it raised "id3v2 tag or frame size 3832965 is invalid"
> > errors last week.
> >
> > For definiteness, this is emms-info-native from the info-native branch at
> > commit 0fe6100
>
> This is surprising given that you got no errors one revision earlier.
>
Surprising but that is what I get ;-)
> Now that there are no memory reservations made based on decoded sizes I
> think we can remove these tag/frame size checks altogether.
>
> I’ll push a new version into savannah git soon.
>
Excellent. One other factoid from my tests: I raced emms-info-native with
emms-info-taglib:
(benchmark-run
(dolist (track (map-values emms-cache-db))
(emms-info-native track)))
and similarly for emms-info-taglib. The native took 200 seconds and taglib
300 for the 14000 or so files! Looks like not shelling out 14000 times
trumps the speed of C++ (at least on my setup where I suspect a lot of the
time is spent reading the mp3's from the ntfs filesystem they live on).
---Fran