Performance Improvements

Description

Profiling gives possible improvements:

  • Analysers should always have at least two thread even if single cpu, because one thread maybe spending much time waiting on I/O either due to remote web lookup or db communication or communicatung with filesystem.

  • AcousticBrainz lookup per song quite expensive (3000 per call) because can only lookup one song a time, and there is quite a lot of data to keep, and we dont cache acousticbrainz data

  • Query By Release Id (8000 per call) slow, also consider impact of delayQuery()

  • Scorer.scoreMatrix significant because of the large number of calls it makes to caculateTrackScoreWithiRelease() , can we skip some checks

  • Even Amg.scoreMatrix() is slow for same reason

  • AcoustidMatcher proceses files serially, so if you are processing single folder (esp random folder) and have multiple cpus takes longer to perform this step than needs to be.

  • If we can create discId and get lookup then acoustid may not be necessary

Environment

None

Status

Assignee

Unassigned

Reporter

IJabz

Labels

None

Forum Username

paul

os

None

Components

Fix versions

Affects versions

5.6

Priority

Major
Configure