- March 26, 2007
- 3,715
- 180
- Home Country
- Germany
https://forum.team-mediaportal.com/mediaportal-releases-315/various-performance-improvements-87676/ [^]
It takes numerous seconds to enter myRecTv screen when dealing with many recordings.
I did some detective work along with redgate ANT performance profiler.
More specifically the various "File.Exists" call where the culprit.
I started introducing a caching dictionary to the static helper class:
Util.GetCoverArt
This would help remove the expensive File.Exists calls
What it does is simle.
If it stumbles upon a file that isn't part of the dictionary it then does a file.exists and then adds it to the dictionary.
The next time a call to Util.GetCoverArt is done with the same filename lookup is done, then the dictionary will be able to reply back much faster than doing disk IO.
This has a huge performance impact when looking up coverart on many files.
Various other optimizations were also done with the help by Inker.
hashset's introduced where needed, LinQ, compiled regexp. etc.
http://mantis.team-mediaportal.com/view.php?id=3126
Open the issue in Mantis...
It takes numerous seconds to enter myRecTv screen when dealing with many recordings.
I did some detective work along with redgate ANT performance profiler.
More specifically the various "File.Exists" call where the culprit.
I started introducing a caching dictionary to the static helper class:
Util.GetCoverArt
This would help remove the expensive File.Exists calls
What it does is simle.
If it stumbles upon a file that isn't part of the dictionary it then does a file.exists and then adds it to the dictionary.
The next time a call to Util.GetCoverArt is done with the same filename lookup is done, then the dictionary will be able to reply back much faster than doing disk IO.
This has a huge performance impact when looking up coverart on many files.
Various other optimizations were also done with the help by Inker.
hashset's introduced where needed, LinQ, compiled regexp. etc.
http://mantis.team-mediaportal.com/view.php?id=3126
Open the issue in Mantis...