|
From: | Fran Burstall (Gmail) |
Subject: | Re: New emms-info-native |
Date: | Thu, 18 Feb 2021 23:31:20 +0000 |
Petteri Hintsanen <petterih@iki.fi> writes:
> (apologies it you get this message twice, my mailer is complaining for
> some reason)
>
> Yoni Rabkin <yoni@rabkins.net> writes:
>
>> Petteri, what do you think of the dynamic-scaling idea?
>
> It could help but I think it’s not the best way to go forward. I am
> afraid it is the design itself that is failing here.
>
> Namely, the current implementation reads in the whole tag (which can be
> big, as we’ve seen) before parsing, even though we are not interested in
> most of it. At the end, we need only a few, relatively small textual
> frames (album, artist, etc.) from the complete tag.
>
> I hacked together an "incremental" parser that goes through the tag one
> frame at a time, and skips over those that EMMS does not care about.
> Hopefully it saves memory and, who knows, it may also give some
> performance boost. (I didn’t have time to do any benchmarking.) Due to
> id3v2 peculiarities, the code is quite ugly and regressions are likely.
>
> But please test if it gives any better results. Code is in info-native
> branch.
This gives me no errors on about 1000 classical tracks and runs close to
4 seconds; 250 tracks a second is just fine.
When I try it on a wider selection of tracks I get a framing mismatch
early on. Attached are the first 10k of that file.
--
"Cut your own wood and it will warm you twice"
[Prev in Thread] | Current Thread | [Next in Thread] |