在对启用了交换的 android 设备的性能进行基准测试时,我需要考虑哪些因素?如果有的话,推荐使用哪些应用程序?
启用交换需要手机被植根并且它的内核支持交换。“a-swapper”是我用来启用交换的应用程序之一,基本上它启动命令来启用交换。交换文件或交换分区位于外部 SD 卡上。
链接到谷歌代码中的“a-swapper”:
在对启用了交换的 android 设备的性能进行基准测试时,我需要考虑哪些因素?如果有的话,推荐使用哪些应用程序?
启用交换需要手机被植根并且它的内核支持交换。“a-swapper”是我用来启用交换的应用程序之一,基本上它启动命令来启用交换。交换文件或交换分区位于外部 SD 卡上。
链接到谷歌代码中的“a-swapper”:
以下是我在 Raspberry Pi(ARM CPU、512 MB RAM、SD 驱动器)上进行的分页测试的报告。测试程序写入和读取越来越多的数据,检查结果是否正确并以 MB/秒为单位测量速度。报告的数据大小为 350、400、420 和 600 MB。速度在 420 MB 时最高约为十分之一,在 600 MB 时则慢三倍。包含用于获取基准和 C 源代码的链接(任何人都可以免费玩,并且任何页面上都没有广告)。与我的其他基准测试一样,这可以转换为 Android。
http://www.roylongbottom.org.uk/Raspberry%20Pi%20Stress%20Tests.htm#anchor18
该报告还提供对内存使用、交换、缓存大小、驱动器 I/O 和 CPU 利用率的 vmstat 监控。至少在我的 Android 平板电脑上,我可以在执行基准测试的同时通过终端模拟器运行 vmstat。
对于 Windows 和 Linux,我有一个图像处理基准,它会越来越大地放大图像,包括写入和读取驱动器、旋转和滚动(您可以通过谷歌搜索 bmpspeed results.htm 和 Linux SDL 图像处理基准的详细信息)。如果有适合 Android 的照片编辑器,您可以使用手动计时进行相同的操作,并可能使用 vmstat 进行监控。
分页测试结果
StressInt 使用正常的内存写入和读取功能。第 1 部分使用不同的数据模式使用六遍写入然后读取指定空间。使用 AND 和 OR 进行高速读取以生成 sumcheck。第 2 部分写入模式(未计时)并读取它们至少最短时间,在这种情况下,每个模式只有一次读取。四个分页测试在具有 512 MB RAM 的 Raspberry Pi 上指定了 350、400、420 和 600 MB,主驱动器是 SD 卡。Vmstat 同时运行。
在 350 MB 时,没有交换,但缓存和缓冲区大小减小,从而减慢了第一次写入。在 400 KB 时,在开始时换入和换出,然后在排序时全速。在 420 MB 时,混乱,与驱动器之间的连续数据传输,CPU 等待 I/O。
1. Commands Example
lxterminal -e ./stressInt KB 600000
vmstat 10 > vmburn4.txt
2. Results
MBytes Per Second At MB Data Size
MB 350 400 420 600
Write/Read No.
1 139 24 15 14
2 209 181 16 8
3 206 203 24 8
4 206 204 26 8
5 202 205 18 8
6 206 205 20 8
Write/Rd secs 19.6 48.4 204.9 460.7
Read No.
1 158 159 20 9
2 158 159 14 9
3 159 159 39 8
4 160 155 9 9
5 159 160 25 9
6 160 159 10 9
Total secs 85 125 1082 3085
vmstat si so KB swaps in and out, bi bo KB I/O in and out, wa = waiting for I/O
350 MB vmstat 10 second samples
KBytes KB KB/sec Per sec %
procs ----------memory---------- ---swap-- -----io---- -system-- ----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 314260 12340 56724 0 0 70 3 1123 232 19 5 76 0
1 1 4 8920 48 21844 0 0 37 10 1141 298 42 16 42 0
1 0 8 12392 64 18404 0 0 2 9 1161 89 99 1 0 0
1 0 8 12144 80 18704 0 0 30 6 1167 82 99 1 0 0
1 0 8 11896 88 18868 0 0 16 2 1157 71 99 1 0 0
1 0 8 11764 96 18972 0 0 10 7 1163 71 99 1 0 0
1 0 8 11772 104 18972 0 0 0 3 1152 61 100 0 0 0
1 0 8 11772 112 18972 0 0 0 3 1153 65 100 0 0 0
1 0 8 11772 120 18972 0 0 0 4 1154 68 100 0 0 0
1 0 8 11772 128 18972 0 0 0 3 1153 64 100 0 0 0
0 0 8 362344 136 21384 0 0 239 5 1194 294 22 4 73 1
400 MB
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 8 355220 924 26480 0 0 63 3 1125 236 24 4 72 0
1 5 92368 8968 60 5464 10 9236 338 9245 1739 587 31 20 28 21
0 2 52492 9108 44 5092 4775 3802 6938 3807 3429 1169 10 22 0 68
1 2 71168 11236 44 4920 4654 8936 4929 8936 2428 1036 6 18 0 77
1 1 42216 9224 44 4788 4477 5600 5059 5602 3313 992 37 19 0 45
1 1 40948 11008 44 4932 143 0 591 3 1391 163 98 2 0 0
1 0 40924 12248 60 5032 15 0 33 6 1170 87 98 2 0 0
1 0 40912 12116 60 5228 2 0 21 0 1155 66 99 1 0 0
1 0 40912 12000 68 5228 0 0 0 3 1152 58 100 1 0 0
1 0 40912 12000 76 5260 3 0 6 3 1154 60 100 1 0 0
1 0 40892 12000 84 5260 0 0 0 3 1153 63 99 1 0 0
1 0 40704 11628 92 5260 34 0 34 3 1167 69 100 1 0 0
1 0 40700 11628 100 5260 0 0 0 3 1153 61 100 0 0 0
0 0 37956 401996 236 12804 474 0 1208 0 1626 229 89 5 3 3
0 0 36900 400392 244 13372 103 0 160 7 1125 180 6 2 91 1
420 MB Sample
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 3 59316 8820 48 4212 4238 4269 5132 4272 3592 939 20 16 0 65
0 1 68268 11732 44 3400 4281 5112 4736 5114 3337 938 6 19 0 75
1 3 60804 8820 76 4428 4715 3860 5877 3864 3518 1007 13 17 0 70
1 1 56408 9948 44 2976 4710 4164 6948 4168 4389 1186 5 19 0 75
2 2 70864 11704 44 2068 3975 6458 4908 6461 3854 1021 7 14 0 79
以下是 64 位 Windows 系统上的结果,基本上来自与 Raspberry Pi 上相同的 C 代码,但使用一次写入/读取通道。对于这些测试,基准测试是在三个系统上的数据需求不断增加的情况下运行的,最高可达 5、8 和 14 GB。
64 Bit IntBurn64 64 Bit IntBurn64 64 Bit IntBurn64
CPU Athlon 64 Core 2 Duo Phenom II
MHz 2210 2400 3000
RAM MB 1024 4096 8192
Windows XP x64 64-Bit Vista 64-Bit Windows 7
Disk W/R
MB/sec 55 55 92
KB Secs MB/sec KB Secs MB/sec KB Secs MB/sec
100000 2041 100000 3393 100000 5146
800000 1 1976 2500000 2 2868 2000000 1 4900
850000 23 77 3000000 2 2878 3000000 1 4658
900000 58 32 3100000 2 2847 3500000 2 4651
920000 61 31 3200000 2 2899 4000000 2 4488
930000 91 21 3300000 3 2698 4500000 2 4489
940000 96 20 3400000 3 2610 5000000 2 4477
950000 93 21 3500000 7 1075 5500000 3 4166
960000 89 22 3600000 10 750 6000000 3 4051
970000 142 14 3700000 17 459 6500000 3 4036
980000 125 16 3800000 107 73 7000000 4 4078
990000 119 17 3900000 210 38 7500000 72 214
1000000 128 16 4000000 146 56 7600000 170 91
1100000 188 12 7700000 168 94
1200000 205 12 5000000 1024 10 7800000 230 69
1300000 266 10 7000000 652 22 7900000 239 68
1400000 358 8 7900000 770 21 8000000 227 72
8000000 N/A 9000000 697 26
2000000 683 6 10000000 1231 17
2100000 14000000 2742 10
5000000 1707 6 15000000 N/A
BMPSpeed Benchmark 可生成最大 512 MB 的 BMP 文件。它可以测量 0.5、1、2、4 等 MB 文件向上的保存、加载、滚动、旋转和编辑/放大的速度。使用的内存高达图像大小的 2.5 倍。由于无法分配 1.25 GB 的顺序内存空间,因此必须针对 Windows XP 修改原始版本。下面的第一个示例反映了 256 MB 的分页,但一些内存将被清除以重新运行。第二个问题出现在具有更多图形 RAM 的后期系统上,其中快速 BitBlt 复制可以用于更大的图像尺寸,这比较慢的 StretchDIBits 方法需要更多的空间。
我可能会制作一个新的 64 位版本,看看我是否可以用 32 GB RAM 破坏我的新基准测试玩具。
BMPSpeed Results
2.08 GHz CPU, 512 MB RAM, fast disk, slow GeForce graphics
Input Enlarge Save Load Scroll Scroll Rotate Use
Image Display Display /Repeat Overall 90 deg Fast
Mbytes Secs Secs Secs msecs MB/Sec Secs BitBlt
0.5 0.05 0.01 0.03 0.7 992.8 0.04 3
1.0 0.06 0.02 0.05 1.3 1013.2 0.06 3
2.0 0.08 0.03 0.12 2.3 1019.8 0.09 3
4.0 0.11 0.06 0.17 2.9 1032.4 0.15 3
8.0 0.15 0.14 0.43 11.4 262.7 0.25 3
16.0 0.24 0.29 0.51 11.4 262.7 0.81 3
32.0 0.45 0.61 0.88 11.4 262.5 1.10 3
64.0 0.55 1.31 1.49 41.4 72.2 2.79 0
128.0 0.97 2.50 2.83 53.9 55.5 6.21 0
256.0 73.02 88.77 14.84 109.7 27.3 86.60 0
512.0 82.93 20.70 89.05 842.4 3.5 67.98 0
2.4 GHz Core 2 Duo with 4 GB RAM and 64 Bit Vista, fast GeForce
Input Enlarge Save Load Scroll Scroll Rotate Use
Image Display Display /Repeat Overall 90 deg Fast
Mbytes Secs Secs Secs msecs MB/Sec Secs BitBlt
0.5 0.05 0.01 0.05 0.1 4748.4 0.02 3
1.0 0.05 0.02 0.08 0.3 4463.6 0.03 3
2.0 0.07 0.02 0.11 1.1 2475.2 0.04 3
4.0 0.09 0.03 0.19 2.4 1866.0 0.06 3
8.0 0.13 0.08 0.31 2.9 1765.0 0.10 3
16.0 0.20 0.24 0.48 2.7 1832.5 0.17 3
32.0 0.26 0.52 0.78 2.9 1741.2 0.28 3
64.0 0.39 1.08 1.38 2.9 1760.0 0.52 3
128.0 0.68 2.37 2.63 2.9 1740.3 1.03 3
256.0 1.35 4.62 5.38 3.1 1645.6 4.39 3
512.0 27.91 13.05 10.59 3.2 1595.6 57.11 3