[Xperia Z General] Haldi4803:
Haldi's Benchmark Thread for Governors&Undervolting&Overclocking the Sony Xperia Z

Hi guys.

//EDIT:

I'm not using my Z as daily driver anymore, i own a Z2 now and therefore will only rarely on special occasion continue to make Benchmarks for the Z.

Thread for the Z2 here: http://xdaforums.com/showthread.php?t=2768979

/END EDIT:

After some Testing i've decided to do a lot more testing with different Governos, Undervolting, overclocking a.m.m.

To put this all together in a single Thread (because there are different ROM's and Kernels planned :) )

THIS THREAD IS NOT for Antutu/Quadrant/GLBenchmark results. They go here

What is a governor and how does it work?

Guide 1, Guide 2, Guide 3

Current Setup: 13.04.2014

Modified Stock rom 101 with Doomkernel v22

Old Setup: 19.01.2014

Modified Stock rom 569 with Xz Kernel v19

Benchmark Parcour:

Using the App Repetitouch to generate a custom pattern that gets repeated.

Using the App BetterBatteryStats to check most Stats like Screen on Time, CPU stats, Battery Drain.

Using Qualcomm Trepn Profiler for detailed stats about CPU/GPU

Normal:

Doing *nothing* just browsing app drawer and homescreen + a short intercourse in the web.

Connected to WiFi, 2x Active Exchange sync running + Facebook

[YOUTUBE]s3LB83o4c_A[/YOUTUBE]

More to come ?

You have a better idea? Whats your typical daily Routine? Web browsing only? Favortie browser? Chrome ?

Different Benchmarks:

BatteryLife:

For Batterylife Benchmarks the battery will be charged fully. A fixxed Brightness set. Benchmark runs for a certain time or till battery is empty. Make sure to use the Benchmark in the exact same location or activate Flight mode because Signal strenght might interfere.

I tried with 1h, that looks fine for a short Test. BetterBatteryStats Log saved. %dropped vom Start till end Benchmark.

CPU load:

Because there are 4 cores the CPU stats from BBS are useless. FauxClock App provides CPU stats per core, or a Trepn Profiler Log.

A short Benchmark (10mins, 30 mins, 1h or more for throttling) to see how a different governor reacts to the same conditions. Brightness should be set to a fixed amount because of heat production from the display. Battery is not important.

Impact of Trepn Profiler on CPU:

(be aware, Total State Time and NOT total run time ;) )

This was a short test with the "normal" preset, when i booted the phone FauxClock said i had already 5 minutes CPU runtime. So better make the Test 30min-1hour for a usefull result.

Left side is without, Right side is with Trepn Profiler running

As you can see Trepn Profiler DOES use quite some CPU power, therefore do NOT mix Benchmarks with and without Running Trepn profile!

IF you compare Something always use same setting.

Impact of Trepn Profiler on GPU:

Still looking for a good GPU load/freq logging app. any recommendations ?

Trepn Profiler Results:

TBH this is a PITA. And not sure if really necessary. But it looks cool. I modified the .csv file in Excel from 6591 Datapoints calculated CPU load for each frequency/per core. Sadly Trepn Profiler does not log CPU/battery Temperature.

Table: Time in State. Each CPUcore has 100% divided into Active and InActive. Active is split into each frequency

Freq	CPU0	CPU1	CPU2	CPU3
384000	0.41 %	2.84 %	1.35 %	0.59 %
486000	1.44 %	1.15 %	0.41 %	0.14 %
594000	2.50 %	1.74 %	0.49 %	0.06 %
702000	2.61 %	2.00 %	0.23 %	0.14 %
810000	2.49 %	1.44 %	0.44 %	0.23 %
918000	2.34 %	1.49 %	0.56 %	0.08 %
1026000	9.56 %	13.00 %	4.19 %	1.24 %
1134000	6.46 %	4.38 %	1.32 %	0.29 %
1242000	15.82 %	8.86 %	2.28 %	0.90 %
1350000	19.45 %	8.88 %	3.23 %	1.53 %
1458000	10.91 %	5.66 %	2.69 %	1.38 %
1512000	26.01 %	10.18 %	3.20 %	2.29 %
InAktiv	0.00 %	38.37 %	79.62 %	91.14 %
Aktiv	100.00 %61.63 %	20.38 %	8.86 %

Then we have a simple Graph (do not try to put all cores in one, looks horrible, there are 6591 Datapoints)

Easier for understanding and also shows the "over Time progress"

System Internal Results:

For some Kernels there is a way to use the system internal Stats! DOES NOT WORK WITH ALL KERNELS!

On the Path "/sys/devices/system/cpu/cpufreq/overall-stats/" You'll find the file "overall_time_in_state" which will show the Time in state for each Core for each frequency since reboot!

Use RootBroweser or ADB to copy the file when you start Benchmarking, copy again after Benchmarking. Calculate the time inbetween /100 and you get seconds. When the core0 never goes into deep sleek /aka Screen is always On you can use the Sum of all core0 to get the 100% amount. (in my case 648 seconds aka 10 minutes 48 seconds)

This here is the SAME usage pattern (normal) as the one shown as example for Trepn Profiler!

Fre	CPU0	CPU1	CPU2	CPU3
384000	20.72 %	0.84 %	0.31 %	0.20 %
486000	1.67 %	0.48 %	0.13 %	0.07 %
594000	1.82 %	0.50 %	0.06 %	0.02 %
702000	2.53 %	0.46 %	0.13 %	0.03 %
810000	3.56 %	0.77 %	0.26 %	0.05 %
918000	3.31 %	0.35 %	0.11 %	0.05 %
1026000	12.88 %	2.76 %	0.81 %	0.30 %
1134000	7.70 %	1.17 %	0.24 %	0.06 %
1242000	12.34 %	2.85 %	1.16 %	0.36 %
1350000	11.98 %	4.44 %	1.29 %	0.65 %
1458000	6.63 %	2.55 %	1.13 %	0.58 %
1512000	14.86 %	3.68 %	1.88 %	0.74 %
InAktiv	0.00 %	79.16 %	92.50 %	96.86 %
Aktiv	100.00%	20.84 %	7.50 %	3.14 %

For stats which do NOT need Over time results (=no beautiful graphs) i reccomend this methode as Trepn profiler DOES use quite a lot CPU power.

Comparison Trepn vs Internal Logger:

So to be sure that they show the same values i've redone the Test made in Trepn and InternalLog section.

Trepn Profiler: (total Log time 660 Seconds)

Freq	CPU0	CPU1	CPU2	CPU3
384000	0.61 %	3.94 %	1.61 %	0.76 %
486000	1.61 %	1.81 %	0.37 %	0.12 %
594000	2.65 %	2.25 %	0.37 %	0.21 %
702000	2.98 %	2.86 %	0.35 %	0.11 %
810000	2.60 %	1.95 %	0.33 %	0.18 %
918000	2.48 %	1.46 %	0.32 %	0.12 %
1026000	9.25 %	15.14 %	2.82 %	0.70 %
1134000	6.57 %	3.47 %	0.61 %	0.23 %
1242000	15.26 %	5.40 %	1.13 %	0.18 %
1350000	19.08 %	5.48 %	1.45 %	0.35 %
1458000	10.33 %	3.73 %	1.00 %	0.32 %
1512000	26.56 %	7.50 %	1.38 %	0.44 %
InAktiv	0.00 %	45.00 %	88.27 %	96.27 %
Aktiv	100.00%	55.00 %	11.73 %	3.73 %

Internal Log file: (total Log time 684 Seconds)

Fre	CPU0	CPU1	CPU2	CPU3
384000	1.33 %	1.54 %	0.71 %	0.19 %
486000	1.75 %	1.32 %	0.25 %	0.06 %
594000	3.08 %	1.64 %	0.30 %	0.13 %
702000	3.04 %	2.32 %	0.30 %	0.11 %
810000	2.86 %	1.64 %	0.22 %	0.08 %
918000	2.63 %	1.28 %	0.23 %	0.11 %
1026000	9.58 %	12.76 %	1.84 %	0.58 %
1134000	6.41 %	3.07 %	0.31 %	0.07 %
1242000	14.64 %	5.41 %	0.85 %	0.18 %
1350000	18.55 %	5.50 %	0.96 %	0.31 %
1458000	9.95 %	3.63 %	0.79 %	0.21 %
1512000	26.18 %	7.85 %	1.49 %	0.36 %
InAktiv	0.00 %	52.04 %	91.76 %	97.62 %
Aktiv	100.00%	47.96 %	8.24 %	2.38 %

There is a difference in the results, altough not too big. This comes from the different recording methods. Trepn profiler is poling the CPU every (ca) 100ms an asking what clock the CPU has, and the Internal method... i have no idea!

I reccomend using the internal method to not create more than necessary CPU(and GPU) load

Except you really have a long Task and whant to see where the CPU was heavy loaded and when it was idle!

More?

That's about it. Feel free to comment and contribute.

I'll add more if i have an idea what else could be noteworth.

greets,

Haldi