thanks for this...i hope CF3 is quicker than CF2
Ok as discussed in another thread there seemed to be some disagreement about various front end load times and one of the biggest problems was that different hardware was used. So to help out I have benchmarked load times of the various windows front ends on exactly the same setup.
The test rig:
Dell Inspiron 1520
500GB 7200rpm hard drive
t7500 2.2Ghz Core2Duo
Each front end was installed cleanly with no extra plugins...was configured and then started and run 3 times to ensure all the initial config was complete. All other processes on the system were stopped and the program was started by a custom test app. When the UI was visible and complete (Ride runner took an extra second to load button captions) I pressed F10 and the timer would stop. Each of the three runs was listed along with their average.
The Results: (All times in seconds)
Now obviously with different hardware the results will vary but I would imagine the spread would be the same on most setups.
Media Index Speeds:
The next item that was highly debated was media index speeds. This was a test to see how long it would take to index your media collection.
The test rig:
-Same as above-
Each Software was cleanly installed ensuring it started with a brand new database. It was then directed to index a collection of 500 mp3s and the amount of time from start to finish was recorded. For two of the applications, the speeds were pretty quick so the applications were traced while running to ensure measured times were accurate. Each application was then directed to empty its database and the test was repeated another two times. As a final test each front end was told to index 10 corrupt files in an attempt to crash them. All the front ends successfully skipped the corrupted files without a problem.
For two of the front ends the first run was significantly longer then the second two. This is believed to be due to overhead from database creation and expansion. File indexing and pre-fetching may have also helped decrease times for the second and third runs.
The software behind the indexing:
FE Tag Reader Database
StreetDeck Windows Media Player Windows Media Player Database
Centrafuse Bass.Net Jet DB
RoadRunnerMM MediaInfo SQLite (external exe)
RevFE MediaInfo SQLite (dll)
OpenMobile Optimized TagLib-Sharp SQLite (managed code)
While you're at it... you should benchmark the overall speed of the frontends. Screen changes, media loading, id3 scanning etc.
I can try hooking the windows messages and checking for UI idle but any of the front ends that do screen changes in the background would show times of 0 so that would be a tough one.
Media loading is possible...im guessing you mean amount of time between when you click a song and hear sound out of the speakers? or something else?
ID3 tagging is a good one too...what size collection do you think I should use? I have about 500,000 songs and don't really want to wait for that to be indexed 3 times per front end lol.
50 songs? 500? 2000?
Interesting coincidence that Open Mobile the front end the thread starter developed is the fastest loading of the 4 tested, or am I just a conspiracy theorist....
That said the reason it loads so fast (and wont get any slower as more plugins are added) is due to the architecture. Most of the front ends load and initialize every plugin before the first screen is shown. This means they get slower and slower as you add functionality.
Open Mobile (and i though nGhost either does or was planning to) does it differently...only the first screen is initialized on the main thread....everything else initializes in the background. I really don't understand why commercial applications (aka streetdeck and centrafuse) have no idea how to use threads properly. RevFE I know loads each plugin on a separate thread and im sure if it did prioritized loading it could be in the same range or even better (given its c++ roots).
Get back to me on my second post so I know how many songs to use and such for the other benchmarks... and yea i'll do a memory use comparison but drive space would be tough since it really depends on what skin is used and such. I'll always have you beat on that though :P
I'd say 500 songs is a good test to get an average speed.
For media loading, I mean both the time inbetween clicking a new file and hearing sound, as well as the time to load a playlist (of a set size, say 20-50 songs).