Couldn't have said it any better....
Funny you mentioned profiling everyones source...i've been sitting with a profiler for the last two days now optimizing here and there. I also did the first bit of benchmarking on media loading (of course i'll have to do it again so all tests are in the same session) but results were interesting:
Street Deck (2.0) Centrafuse (2.1) Open Mobile (0.5.0.3)
66.40 16.90 69.64
33.78 7.10 52.25
32.36 6.97 52.74
RideRunner I haven't gotten working yet (ill be posting a help request soon) and revFE im waiting for one minor tweak. Needless to say I know the area thats getting profiled next :tape:
[Back on topic]
I'm noticing some differences between what each of the front ends actually do when they index. It would be nice to get together a list of what fields they each read and store...along with how they handle cover art (folder images only, id3 cover extraction only or both).
Just to throw another wrench into the topic...One has to keep in mind that each individual systems' hardware may also help or hinder FE load times; (single vs dual vs quad core, amount, type, speed of memory, internal sound vs external (usb), screen res, etc). It would be next to impossible to obtain anything other than generic benchmarks due to these obstacles. Great idea, be not totally feasible, imho.:tape:
This has been stated a few times - the goal was exactly that - a generic benchmark.
Originally Posted by rsrblade
Centrafuse is not going to suddenly go to a 1sec load time on a 5400rpm hard drive or less ram.... It's believed that the spread will be similar on other hardware just generally longer or shorter but a single core benchmark is coming soon -so well know for sure.
no nGhost in the benchmark? :( :(
Having the .NET runtime preloaded is a big benefit to openMobile. the .NET runtime does add to the system startup time though. I'm actually surprised that revFE was around 2 seconds. I thought it might be faster.
nGhost2 can operate in 3 modes: passive, aggressive, and progressive. In passive mode, no images are cached in memory. This makes nghost lighter, but also slower as each screen has to load from disk all the images. In contrast, aggressive mode loads ALL images into memory at startup. This makes screen switching FAST and but it also starts up slightly slower. Progressive mode is the default. It loads screens into memory when you go to them. The result is, nGhost get's progressively faster yet saves memory by only caching the screens you visit.
nGhost also loads all plugins at the start. But there are only a handful of plugins or two that are likely being loaded.
nGhost3 will start 1 plugin and you'll launch the other's yourself (or you'll preconfigure nGhost to start up whatever plugins you like. hmmm... session saving...:loco:). All plugins will run out of process yet maintain an IPC link back to the "server" --a background daemon that manages plugins.
Anyway, it'd be interesting to see how fast media scans are of the various plugins. nGhost can certainly improve this. Currently, all scanning is done out of process via nscan. It runs in the background allowing you do browse music while it searches for new stuff. it uses multi-threading on each scan, but with some pretty awful mutex locking (IMHO). I'd probably be better as a fork()'d process instead of a thread...
To be honest, I think Linux opens up a whole other can of worms in this discussion. Linux version, the setup of the distro, install options, up to dateness of the drivers all can have a huge effect on the load time of different programs. Who's to say what distro, kernel version, driver revision, etc you are going to benchmark this stuff to?
it doesn't really matter, as long as you are comparing apples to apples and the base operating system version is documented (ie, "nghost was tested on stock ubuntu 9.04".
Originally Posted by malcom2073
What'd be even more interesting is to compare revFE and OpenMobile on windows AND Linux and compare their startup times.
10 bucks says at least revFE starts up faster on Linux than it does on windows. OpenMobile probably wont' because mono is much slower on Linux than .NET is on windows.
Its a completely different file system and memory management...so no comparing windows to linux but I will be posting a comparison of nGhost, OpenMobile and revFE all done on linux to compare those 3. I want to get the windows stuff finished first....but if you wanted to run a comparison of the 3 before I get to it I would be happy to add it to the first post.
Originally Posted by kev000
i tried out openmobile on my work machine (ubuntu 9.04). I got some pretty inconsistant results. Sometimes I would get a blue-screen, sometimes i would get black sections that the buttons are supposed to be, and sometimes I would get the full screen.
I like how you fade in/out the window. You'll have to show me how you do that.
very strange that you would get the full screen and the black boxes. There was a case issue with one of the skin images that didn't show up till it was running on linux. Just rename halfButton.png to HalfButton.png. Its been fixed in the svn for awhile now but I haven't gotten 0.5 to the release point yet so its going to be a few. If you do end up trying to do real benchmarks remind me to send u the version that doesn't fade in the controls so its easier to tell when things are loaded.
Originally Posted by kev000
Media Index Benchmark has been added to the first post:
Since the Open Mobile edition used in this test hasn't been released the music database was added to a sample POC application available for public testing. Available here for anyone that want's to do fact checking:
Also available are the trace logs from revFE...pm me if anyone wants to verify those.