I tried last night's test on the new info-native branch version and got zero errors in 14051 files in 371 secs. This is twice as fast as last night but nowhere near the 250 tracks a second that Yoni is seeing!
---Fran On Thu, 18 Feb 2021 at 22:12, Yoni Rabkin <[email protected]> wrote: > Petteri Hintsanen <[email protected]> writes: > > > (apologies it you get this message twice, my mailer is complaining for > > some reason) > > > > Yoni Rabkin <[email protected]> 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" >
