Speed » History » Version 4

« Previous - Version 4/29 (diff) - Next » - Current version
Chris Cannam, 2014-05-07 01:38 PM


Speed

We want to make the plugin as fast as possible, but I think there's a case to be made for providing fast and slow modes (see Possibilities for Plugin Parameters).

In "fast" mode we should have the aim of producing a reasonable transcription in faster than real-time on any computer from the past 5 years or so. "Slow" mode has no particular speed constraint, simply as fast as possible an implementation of the best results we can easily do.

See the timing directory in the repo for timing tests. These are all carried out on a Thinkpad T540p with Intel i5-4330M under 64-bit Linux.

Work so far:

  • Pre-optimisation, ce64d11ef336 (release build) takes 104 seconds to process a 43.5-second file. (For reference, a debug build takes over 850 seconds.)
  • Testing where the time is spent:
    • Removing the unused Vamp plugin outputs: no more than 1 second difference
    • Removing debug printouts: no more than 1 second difference
    • Adjusting the CQ resampler parameters to allow a lower SNR: no more than 1 second difference
    • Halving the number of EM iterations: reduces runtime dramatically, to 59 sec. If this is linear, then EM (rather than CQ etc) must be taking around 86% of the total time.