[Galaxy S I9000 Android Development] Pipperox:
Goal of this little project is to dispel myths and hearsay and trying to assess the elusive performance of custom kernels for our beloved SGS I9000.

So far this has proven quite challenging as there is no single good benchmark on Android (yet):

a lot of people have been misled by ridiculous Quadrant scores: ridiculous because, with some small tweaks which do not affect real performance in any way, shape or form, it is possible to boost the Quadrant score by factor 3x.

You're free to believe that your SGS I9000 which scores 3000+ on Quadrant is faster than a SGS II, but then please leave this thread and move on.

some kernels may seem smooth with some games, and get high scores on some synthetic benchmark, yet the UI appears "laggy" and stutters a lot in comparison to other kernels which score lower on the same benchmark

some popular benchmarks give results with unacceptably low reproducibility, i.e. if you run them multiple times without changing a thing on your system, you get scores varying by 50% of more, in a completely random fashion

most popular benchmarks do not measure or take into account multitasking and CPU contention with other applications, yet on a typical usage one has background tasks such as the media scanner or synchronization which kick in often and unpredictably

So this will be mostly a work in progress, i'm testing several benchmarks and several kernels in multiple combinations, trying to analyze which benchmarks offer certain criteria which make them useful, namely:

Reproducibility of results: running the same tests multiple times, should result in a very small variance of the final score

Performance separation: benchmarks which are too "synthetic" and show only a dependency on clock speed are not useful to discriminate "fast" kernels from "slow" kernels

Performance representation: we all know when a kernel "looks" or "feels" fast or smooth. If a benchmarks shows you that a "laggy" kernel scores higher than a fast and responsive one, it's likely that the benchmark is not well designed

I'll work more on this thread explaining my (current) choice of tests and what they're good for.

But for now i'll just post a link to the summary table, and give a brief recommendation concerning popular ICS kernels; recommendation which i'll explain in the coming days.

Base ROM:

Slim ICS 2.8

(because is fast, smooth and has the least background stuff of all ICS ROMs which i tested)

Test Conditions:

Whenever possible, i tried to overclock the kernels to 1.2GHz which most / all phones should have no trouble achieving.

In case of Semaphore i had to use the bus / live overclock but it wasn't fully stable at 1.2GHz on my phone so i ran most of the tests at 1.14GHz.

Tested Kernels:

Stock Teamhacksung V17

Devil 1.1.6b BFS

Devil 1.1.6b CFS

Icy Glitch V14 b

Semaphore ICS 0.9.5b

Recommendation:

Devil 1.1.6b CFS, Icy Glitch V14b (with SmartassV2 and FIOPS), and Midnight ICS (with a tweaked Conservative) are trading blows for the fastest kernel.

At the time of testing, Midnight is slightly worse in terms of overclocking though, apparently due to different voltages, also it doesn't allow overclocking beyond 1.2GHz.

But what's interesting is that it achieves great performance while using a tweaked conservative governor.

Devil 1.1.6b BFS is good but obviously inferior to its CFS brother.

Semaphore has the lowest cache and memory latency in the multithreaded test, it also has impressive sd card read speed and in general appears super responsive, but it's a bit worse in 3D gaming and especially it lacks "true" overclocking, "live overclocking" changes the bus clock and is way more unstable, in fact on my phone i couldn't run it stable at 1.2GHz.

All kernels are significantly faster than the stock teamhacksung's kernel, so you have no excuses not to upgrade to one of the popular custom kernels!

ICS 4.0.4

Started testing Android ICS 4.0.4 kernels on Slim ICS 3.2.

All tested kernels are "huge mem" versions with 380+MB of available RAM, without breaking video playback or 720p recording.

Summary:

the stock kernel from Teamhacksung is now a very respectable performer, unless you plan to overclock probably you don't need to install one of the other kernels

Semaphore, Midnight and Devil are all very fast and smooth

Results table:

https://docs.google.com/spreadsheet/ccc?key=0AuBUEB4dGFSSdHIyN2VIeWU4QnhLOFpJejFPWDh5S1E