emms-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re:Re: New emms-info-native


From: tumashu
Subject: Re:Re: New emms-info-native
Date: Fri, 19 Feb 2021 08:52:44 +0800 (CST)

(let* ((n 1)
       (bm (benchmark-run
               (dolist (filename (map-keys emms-cache-db))
                 (setq n (+ n 1))
                 (condition-case nil
                     (emms-info-native--decode-info-fields filename)
                   (error (message "Error while processing %s" filename)))))))
  (message "Totel %s files, speed is %s files per second." n  (/ n (car bm))))

I use emacs 28 gccemacs branch.

1. master speed

Error while processing /home/feng/音乐/未整理/Jambalaya (On The Bayou).mp3
Error while processing /home/feng/音乐/未整理/Mean.mp3
Error while processing /home/feng/音乐/李玉刚/逐梦令 四美图/月光.mp3
Totel 1261 files, speed is 405.9625992748337 files per second.

2.  info-native speed

Error while processing /home/feng/音乐/未整理/Jambalaya (On The Bayou).mp3
Error while processing /home/feng/音乐/未整理/Mean.mp3
Error while processing /home/feng/音乐/李玉刚/逐梦令 四美图/月光.mp3
Totel 1261 files, speed is 808.5052910067327 files per second.


by the way, is it possible add a function, which can read a problem mp3 file, 
and
generate a small test mp3 file?








At 2021-02-19 05:46:35, "Petteri Hintsanen" <petterih@iki.fi> wrote:
>(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.
>
>Thank you all for your feedback.
>
>Regards,
>Petteri

reply via email to

[Prev in Thread] Current Thread [Next in Thread]