Difference between revisions of "RPi Performance"
Jukimatori (talk | contribs) m (→Results: Add Transcend SDHC 32GB Class 10 (TS32GSDHC10E)) |
m (added references, template, category) |
||
Line 530: | Line 530: | ||
| Playing Quake III || ? || | | Playing Quake III || ? || | ||
|} | |} | ||
+ | |||
+ | =References= | ||
+ | <references/> | ||
{{Template:Raspberry Pi}} | {{Template:Raspberry Pi}} | ||
+ | [[Category:RaspberryPi]] |
Revision as of 14:54, 6 August 2012
Contents |
Back to the Hub.
Software & Distributions:
Software - an overview.
Distributions - operating systems and development environments for the Raspberry Pi.
Kernel Compilation - advice on compiling a kernel.
Performance - measures of the Raspberry Pi's performance.
Programming - programming languages that might be used on the Raspberry Pi.
CPU
Linpack
The Arm has been tested using the linpack benchmark from [1], built with gcc with -O3 (Optimisation level 3). Run with array size 200.
With software floating point
Source
Compile/Run
cc -O3 -o linpack linpack.c -lm linpack.c: In function ‘main’: linpack.c:69: warning: return type of ‘main’ is not ‘int’ ./linpack Enter array size (q to quit) [200]: 200
Results
Crippled
Memory required: 315K. LINPACK benchmark, Double precision. Machine precision: 15 digits. Array size 200 X 200. Average rolled and unrolled performance: Reps Time(s) DGEFA DGESL OVERHEAD KFLOPS 2 0.53 92.45% 1.89% 5.66% 5493.333 4 1.07 92.52% 2.80% 4.67% 5385.621 8 2.12 92.45% 2.36% 5.19% 5466.003 16 4.24 92.45% 2.83% 4.72% 5438.944 32 8.49 92.11% 2.71% 5.18% 5459.213 64 16.98 92.05% 2.89% 5.06% 5452.440
Hardware floating point (-mfloat-abi=softfp)
Memory required: 315K. LINPACK benchmark, Double precision. Machine precision: 15 digits. Array size 200 X 200. Average rolled and unrolled performance: Reps Time(s) DGEFA DGESL OVERHEAD KFLOPS 8 0.51 90.20% 3.92% 5.88% 22888.889 16 1.02 89.22% 4.90% 5.88% 22888.889 32 2.05 90.24% 3.41% 6.34% 22888.889 64 4.08 91.42% 2.94% 5.64% 22829.437 128 8.16 91.54% 2.94% 5.51% 22799.827 256 16.31 91.35% 2.76% 5.89% 22903.800
Full hardware floating point on Raspbian (-mfloat-abi=hard -mfpu=vfp) and arm_freq=700
Memory required: 315K. LINPACK benchmark, Double precision. Machine precision: 15 digits. Array size 200 X 200. Average rolled and unrolled performance: Reps Time(s) DGEFA DGESL OVERHEAD KFLOPS 16 0.58 89.66% 3.45% 6.90% 40691.358 32 1.17 87.18% 4.27% 8.55% 41071.651 64 2.32 88.36% 3.02% 8.62% 41459.119 128 4.67 88.22% 3.43% 8.35% 41071.651 256 9.33 88.85% 3.32% 7.82% 40880.620 512 18.63 89.00% 2.95% 8.05% 41047.675
Full hardware floating point on Raspbian (-mfloat-abi=hard -mfpu=vfp) and arm_freq=1000 and core_freq=500
Memory required: 315K. LINPACK benchmark, Double precision. Machine precision: 15 digits. Array size 200 X 200. Average rolled and unrolled performance: Reps Time(s) DGEFA DGESL OVERHEAD KFLOPS 32 0.79 89.87% 0.00% 10.13% 61896.714 64 1.58 89.24% 1.27% 9.49% 61463.869 128 3.16 90.19% 1.90% 7.91% 60407.789 256 6.32 88.13% 3.80% 8.07% 60511.761 512 12.65 87.83% 3.56% 8.62% 60825.836
Full hardware floating point on Gentoo with more compiler optimizations (gcc-4.6.3 -Ofast -fno-fast-math), default clocks
Memory required: 315K. LINPACK benchmark, Double precision. Machine precision: 15 digits. Array size 200 X 200. Average rolled and unrolled performance: Reps Time(s) DGEFA DGESL OVERHEAD KFLOPS ---------------------------------------------------- 16 0.56 89.29% 1.79% 8.93% 43084.967 32 1.13 91.15% 4.42% 4.42% 40691.358 64 2.25 89.78% 3.56% 6.67% 41853.968 128 4.51 87.80% 4.21% 7.98% 42358.233 256 9.01 88.68% 3.88% 7.44% 42155.076 512 18.01 89.23% 2.78% 8.00% 42434.923
Whetstone/Dhrystone
All code compiled with gcc options -float-abi=softfp -O3
Source
Code for these tests can be found here http://www.rowley.co.uk/arm/whet_dhry.zip. Or if 404 this code might be analogous http://freespace.virgin.net/roy.longbottom/benchnt.zip
Compile/Run
?
Results
Dhrystone
Microseconds for one run through Dhrystone: 1.2 Dhrystones per Second: 809061.5
Whetstone Crippled
Loops: 1000, Iterations: 10, Duration: 24 sec. C Converted Double Precision Whetstones: 41.7 MIPS
Rebuilding the Whetstone test code with 'gcc -mfpu -float-abi=softfp' gives better results:
Loops: 1000, Iterations: 100, Duration: 106 sec. C Converted Double Precision Whetstones: 94.3 MIPS
However, the majority of compute time is spent in the SQRT function, which for the above test was built without -mfpu=vfp. Using a library with vfp give the following much improved result :
Loops: 1000, Iterations: 100, Duration: 15 sec. C Converted Double Precision Whetstones: 666.7 MIPS
OpenSSL
Source
Compile/Run
openssl version; openssl speed;
Results
Assembly optimization disabled:
OpenSSL 0.9.8o 01 Jun 2010 built on: Thu Aug 26 18:56:26 UTC 2010 options:bn(64,32) md2(int) rc4(ptr,int) des(idx,risc1,4,long) aes(partial) blowfish(idx) compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O2 -Wa,--noexecstack -g -Wall available timing options: TIMES TIMEB HZ=100 [sysconf value] timing function used: times The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes md2 148.81k 372.18k 624.81k 769.95k 832.90k mdc2 0.00 0.00 0.00 0.00 0.00 md4 615.30k 2468.76k 7612.19k 16707.01k 28104.86k md5 380.13k 1501.12k 4800.77k 11312.81k 21682.77k hmac(md5) 1022.28k 3480.23k 9587.80k 17492.25k 25441.78k sha1 303.72k 1092.39k 3106.50k 6302.57k 9852.39k rmd160 244.29k 849.04k 2414.53k 4747.26k 7513.00k rc4 14658.70k 16836.49k 17462.03k 17628.21k 17522.08k des cbc 2913.17k 3221.30k 3289.77k 3360.09k 3367.21k des ede3 1149.87k 1188.59k 1198.46k 1206.00k 1208.25k idea cbc 0.00 0.00 0.00 0.00 0.00 seed cbc 0.00 0.00 0.00 0.00 0.00 rc2 cbc 2812.71k 3012.02k 3054.19k 3077.82k 3076.12k rc5-32/12 cbc 0.00 0.00 0.00 0.00 0.00 blowfish cbc 6091.32k 7007.89k 7250.62k 7288.21k 7163.88k cast cbc 5068.25k 6020.03k 6345.71k 6367.64k 6260.44k aes-128 cbc 3205.76k 3497.72k 3616.00k 3652.49k 3665.85k aes-192 cbc 2730.65k 2981.88k 3073.20k 3102.38k 3111.86k aes-256 cbc 2383.90k 2596.12k 2659.91k 2702.13k 2732.50k camellia-128 cbc 0.00 0.00 0.00 0.00 0.00 camellia-192 cbc 0.00 0.00 0.00 0.00 0.00 camellia-256 cbc 0.00 0.00 0.00 0.00 0.00 sha256 679.98k 1629.47k 2905.43k 3708.32k 4175.45k sha512 41.02k 163.83k 232.63k 318.20k 353.81k aes-128 ige 3089.03k 3579.08k 3698.68k 3689.14k 3578.18k aes-192 ige 2641.68k 3019.45k 3111.38k 3144.95k 3035.70k aes-256 ige 2334.50k 2632.35k 2705.04k 2735.69k 2687.74k sign verify sign/s verify/s rsa 512 bits 0.013747s 0.001193s 72.7 838.4 rsa 1024 bits 0.063481s 0.002742s 15.8 364.7 rsa 2048 bits 0.321250s 0.007378s 3.1 135.5 rsa 4096 bits 1.805000s 0.022528s 0.6 44.4 sign verify sign/s verify/s dsa 512 bits 0.011690s 0.013597s 85.5 73.5 dsa 1024 bits 0.027233s 0.031683s 36.7 31.6 dsa 2048 bits 0.073897s 0.087304s 13.5 11.5
Assembly optimization enabled:
OpenSSL 1.0.1c 10 May 2012 built on: Sun Jul 29 00:43:16 CEST 2012 options:bn(64,32) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) idea(int) blowfish(ptr) compiler: armv6j-hardfloat-linux-gnueabi-gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN \ -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -Wall -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM \ -DSHA512_ASM -DAES_ASM -DGHASH_ASM -O2 -march=armv6j -mfpu=vfp -mfloat-abi=hard -fno-strict-aliasing -Wa,--noexecstack The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes md2 0.00 0.00 0.00 0.00 0.00 mdc2 724.41k 933.06k 1024.68k 1063.59k 1075.88k md4 2547.83k 9441.28k 27284.48k 51824.98k 69894.14k md5 1954.05k 7217.96k 20805.95k 39365.29k 53226.15k hmac(md5) 3075.61k 10241.88k 26669.65k 44729.00k 55386.11k sha1 2115.34k 6823.83k 16264.45k 25053.18k 30121.35k rmd160 1487.88k 4783.96k 10707.71k 15800.32k 19303.08k rc4 34205.43k 39535.98k 41215.83k 41561.43k 41570.04k des cbc 6251.12k 6605.08k 6686.81k 6713.01k 6707.54k des ede3 2326.45k 2368.36k 2385.83k 2397.53k 2391.84k idea cbc 8758.77k 9421.31k 9607.34k 9653.93k 9687.93k seed cbc 8274.52k 9036.46k 9264.64k 9321.47k 9284.27k rc2 cbc 6047.90k 6354.82k 6458.82k 6465.19k 6485.33k rc5-32/12 cbc 16204.47k 18649.32k 19367.94k 19560.11k 19649.84k blowfish cbc 11934.03k 13189.85k 13546.92k 13633.19k 13486.76k cast cbc 10797.59k 11828.46k 12156.58k 12187.65k 12050.43k aes-128 cbc 12978.72k 14708.69k 15387.40k 15472.93k 15529.06k aes-192 cbc 11441.49k 12834.60k 13315.69k 13453.78k 13430.80k aes-256 cbc 10267.01k 11409.83k 11744.41k 11812.86k 11859.64k camellia-128 cbc 9312.98k 10278.89k 10572.46k 10646.19k 10657.82k camellia-192 cbc 7541.38k 8140.71k 8325.63k 8370.18k 8361.30k camellia-256 cbc 7513.97k 8138.65k 8297.98k 8351.40k 8347.65k sha256 3598.03k 8377.26k 14605.57k 17979.39k 19300.35k sha512 1080.74k 4322.82k 6151.85k 8416.32k 9418.07k whirlpool 361.82k 729.24k 1186.42k 1425.38k 1512.79k aes-128 ige 11702.57k 13853.45k 14429.53k 14671.38k 14057.47k aes-192 ige 10468.67k 12165.24k 12628.24k 12743.72k 12331.69k aes-256 ige 9505.78k 10831.25k 11205.36k 11333.43k 10982.74k ghash 15681.70k 17279.32k 17770.84k 17894.06k 17940.48k sign verify sign/s verify/s rsa 512 bits 0.002185s 0.000217s 457.6 4611.1 rsa 1024 bits 0.011325s 0.000640s 88.3 1563.5 rsa 2048 bits 0.074296s 0.002289s 13.5 436.8 rsa 4096 bits 0.544211s 0.008741s 1.8 114.4 sign verify sign/s verify/s dsa 512 bits 0.002157s 0.002262s 463.5 442.0 dsa 1024 bits 0.006234s 0.007123s 160.4 140.4 dsa 2048 bits 0.022247s 0.025884s 44.9 38.6
GPU
The RaspberryPi appears to handle h264 1080p movie from USB to HDMI at least 4MB/s.
The Admin "JamesH" said it would handle "basically 1080p30, high profile, >40Mb/s." (5MB/s) in h264
And about WVGA(480p30) or 720p20 in VP8/WEBM
ioquake3
Source
https://github.com/raspberrypi/quake3
Compile/Run
- Download source, compile as delivered - Start game - Runs at display's native res, in my case 1280x1024 - Bitdepth stuck at 16bpp, not sure how to change, values in q3config.cfg seem to be ignored - In-game console commands: \timedemo 1 \demo four
Results
armel "driver info" : http://i.imgur.com/wtYhB.jpg armel timedemo score: http://i.imgur.com/i2TkN.jpg 20.2fps
armhf "driver info" : http://i.imgur.com/8nqa1.jpg armhf timedemo score: http://i.imgur.com/dUu0g.jpg 28.5fps
IO
USB bus
- All IO uses the same bus so the combination of all IO can not exceed the the bus speed of an as yet hypothetical 60MB/s
- A test with a fast USB-Stick showed that Raspberry Pi can achieve about 30 MB/s:
root@raspberrypi:~# dd if=/dev/sda of=/dev/null bs=32M count=10 iflag=direct 10+0 records in 10+0 records out 335544320 bytes (336 MB) copied, 10.6428 s, 31.5 MB/s
SD card
- TODO test
Note: the dd test should probably use i/oflags=direct for reads and writes. But that will change the results recorded to date
Compile/Run
# write dd if=/dev/zero of=~/test.tmp bs=500K count=1024 # read dd if=~/test.tmp of=/dev/null bs=500K count=1024 # cleanup rm ~/test.tmp # find out which kernel you're running uname -a
Results
- Depends on SD card used http://elinux.org/RaspberryPiBoardVerifiedPeripherals#SD_cards
SD Card | Read (MB/s) | Write (MB/s) | Distro | Kernel | Notes |
---|---|---|---|---|---|
ADATA 8GB SDHC Class 10 (ASDH8GCL10-R) | 19.6 | 18.8 | 2012-08-04 Debian Wheezy "Raspbian" | Linux raspberrypi 3.1.9+ #168 PREEMPT Sat Jul 14 18:56:31 BST 2012 armv6l GNU/Linux | |
ADATA 32GB SDHC Class 10 (ASDH32GCL10-R) | 20.1 | 6.4 | 2012-06-18-wheezy-beta | Linux raspberrypi 3.1.9+ #152 PREEMPT Fri Jul 6 18:47:16 BST 2012 armv6l GNU/Linux | |
AmazonBasics SDHC Class 10 8GB | 19.3 | 8.6 | Debian Wheezy "Raspbian" | Linux massah 3.1.9+ #168 PREEMPT Sat Jul 14 18:56:31 BST 2012 armv6l GNU/Linux | |
AmazonBasics SDHC Class 10 8GB | 17 | 9.4 | Debian Wheezy "Raspbian" | Linux massah 3.1.9+ #202 PREEMPT Wed Jul 25 22:11:06 BST 2012 armv6l GNU/Linux | Same board and card as above, slightly newer kernel. |
Extrememory SDHC 16GB class 10 | 4.7 | 4.5 | Debian Wheezy "Raspbian" | Linux raspbian 3.1.9+ #52 | |
Extrememory SDHC 16GB class 10 | 11.3 | 5.4 | Debian Wheezy "Raspbian" | Linux raspbian 3.1.9+ #101 | init_emmc_clock=200000000 in config.txt |
Extrememory SDHC 16GB class 10 | 18.2 | 6.3 | Debian Wheezy "Raspbian" | Linux raspbian 3.1.9+ custom | kernel and firmware as of 17.06.2012, no extra option in config.txt |
Extrememory SDHC 16GB class 10 (man:0x000012 oem:0x3456 name:F0F0F hwrev:0x1 fwrev:0x0) |
16.9 | 10.7 | archlinuxarm-13-06-2012 | Linux alarmpi 3.1.9-25-ARCH+ #1 PREEMPT | |
Extrememory SDHC 32GB class 10 (man:0x000003 oem:0x5344 name:SMI hwrev:0x1 fwrev:0x0) |
18.7 | 16.5 | archlinuxarm-13-06-2012 | Linux alarmpi 3.1.9-25-ARCH+ #1 PREEMPT | |
Fugi SDHC 32GB class 10 (P10NM00580A) | 12.7 | 19.8 | Debian Wheezy Raspbian | Linux raspbian 3.1.9+ #168 | man:0x000073 oem:0x4247 name:NCard hwrev:0x1 fwrev:0x0 |
Integral SDHC 16GB class 10 | 17.7 | 19.6 | Debian Wheezy Raspbian | Linux raspbian 3.1.9+ #168 | |
Kingmax 8GB microSDHC Class 4 (KM08GMCSDHC41A) | 13.6 | 3.7 | Debian Wheezy Raspbian | Linux 3.1.9+ #242 PREEMPT Wed Aug 1 19:47:22 BST 2012 | |
Kingston SDHC 4GB class 4 | 4.5 | 4.1 | Debian Squeeze "debian6-19-04-2012" | Linux raspberrypi 3.1.9+ #52 Tue May 8 23:49:32 BST 2012 | |
Kingston SDHC 4GB class 4 | 4.2 | 2.5 | archlinuxarm-19-04-2012 | Linux alarmpi 3.1.9-13+ #6 Thu May 10 00:48:37 UTC 2012 | Identical card to one above. One to look into, as I was expecting Arch to be faster... |
Kingston uSDHC 4GB class 4 | 4.0 | 3.8 | Debian Squeeze | Linux 3.1.9+ #90 | |
Kingston uSDHC 8GB class 4 (SDC4/8GB) | 4.7 | 3.7 | archlinuxarm-29-04-2012 | Linux alarmpi 3.1.9+ #66 Thu May 17 16:56:20 BST 2012 | CrystalDiskMark results (FAT32) This is my only card that can be counted on to boot up on each plug-in. |
Kingston SDHC 8GB class 4 (SD4/8GB) | 4.6 | 3.0 | archlinuxarm-29-04-2012 | Linux alarmpi 3.1.9+ #66 Thu May 17 16:56:20 BST 2012 | CrystalDiskMark results (FAT32) |
Kingston SDHC 8GB class 4 (SD4/8GB) | 13.2 | 3.4 | Hexxeh Raspbian r3 | Linux raspbian 3.1.9+ #202 PREEMPT Wed Jul 25 22:11:06 BST 2012 armv6l GNU/Linux | man:0x000002 oem:0x544d name:SA08G hwrev:0x1 fwrev:0x0 |
Kingston SDHC 32GB class 10 | 10.8 | 8.1 | Fedora 17 ARM snapshot 07 May 2012 | Linux fedora-arm 3.1.9 #1 | mmc0: note - long write sync 1453000ns - 14608 its. - kernel/module problems? |
Kingston SDHC 32GB class 10 | 4.7 | 4.1 | Fedora 17 ARM nightly snapshot | Linux fedora-arm 3.1.9+ #101 PREEMPT Mon Jun 4 17:19:44 BST 2012 | custom kernel from raspberrypi github - no more mmc0 sync problems |
Kingston SDHC 32GB class 10 | 4.6 | 3.5 | Debian Squeeze "debian6-19-04-2012" | Linux raspberrypi 3.1.9+ #90 | |
Panasonic SDHC 8GB class 6 | 4.8 | 4.4 | |||
Panasonic SDHC 8GB class 4 | 11.1 | 9.7 | Debian Wheezy "Rasbpian" | Linux rpi 3.1.9+ #168 PREEMPT Sat Jul 14 18:56:31 BST 2012 armv6l GNU/Linux | |
Patriot microSDHC 16GB Class 10 (PSF16GMSHC10) | 9.5 | 5.2 | Fedora 14 | Linux raspi 3.1.9+ #101 | init_emmc_clock=200000000 in config.txt |
Samsung SDHC 16GB Class 10 (MB-SPAGA) | 10.7 | 8.8 | Fedora 17 ARM snapshot 07 May 2012 - GUI release | Linux fedora-arm 3.1.9 #1 | Had "long write sync" errors, slow boot times and then system instability using USB port on Macbook, switched to iPhone charger (5V 1A) and warning disappeared |
Samsung SDHC 16GB Class 10 (MB-SPAGA) | 19.6 | 18.7 | Debian Wheezy "Raspbian" | Linux raspberrypi 3.1.9+ #168 PREEMPT Sat Jul 14 18:56:31 BST 2012 armvl GNU/Linux | (Same user / card as above, definitely notable that Raspbian is superior) |
Samsung microSDHC 16GB Class 10 (MB-MPAGA/US) | 19.8 | 15.8 | Debian Wheezy "Raspbian" | Linux pisces 3.1.9+ #155 PREEMPT Mon Jul 9 12:49:19 BST 2012 armv6l GNU/Linux | - |
Samsung microSDHC 16GB Class 4 (MB-MS4GA/US) | 19.2 | 5.5 | Debian Wheezy "Raspbian" | ? | - |
SanDisk microSD 2GB | 4.7 | 4.2 | archlinuxarm-29-04-2012 | Linux alarmpi 3.1.9+ #66 Thu May 17 16:56:20 BST 2012 | CrystalDiskMark results (FAT32) Card has no serial/is likely a fake. |
SanDisk Ultra SDHC 4GB class 4 | 4.7 | 4.4 | Raspbian Wheezy | Linux raspberry-pi 3.1.9+ #1 PREEMPT Wed Jun 6 16:26:14 CEST 2012 armv6l GNU/Linux | man:0x000003 oem:0x5344 name:SD04G hwrev:0x8 fwrev:0x0 |
SanDisk Ultra II SDHC 4GB class 4 (15 MB/s) | 20.9 | 14.6 | Raspbian Wheezy | Linux raspberry-pi 3.1.9+ | |
SanDisk SDHC 8GB class 4 | 11.1 | 5.6 | Raspbian Wheezy | Linux raspberrypi 3.1.9+ #202 PREEMPT | After Hexxeh rpi-update. man:0x000003 oem:0x5344 name:SD08G hwrev:0x8 fwrev:0x0 |
SanDisk SDHC 8GB class 4 | 4.7 | 3.2 | Debian Squeeze | ||
SanDisk Ultra SDHC I 8GB class 6 "30MB/s*" | 19.5 | 7.6 | archlinuxarm | 3.1.9-22-ARCH+ #1 PREEMPT Sun Jun 17 13:54:30 UTC 2012 | "mmc0: error -84 whilst initialising SD card" at bootup, but works fine |
SanDisk Ultra SDHC I 8GB class 10 "30MB/s*" | 19.3 | 3.2 | Raspbian Wheezy | 3.1.9+ #168 PREEMPT Sat Jul 14 18:56:31 BST 2012 | |
SanDisk Ultra SDHC I 8GB class 10 "30MB/s*" | 13.6 | 14.5 | raspbmc rc3 | Linux raspbmc 3.1.9-test-12-06 #1 PREEMPT Mon Jun 18 20:07:45 UTC 2012 armv6l GNU/Linux | |
SanDisk Ultra SDHC II 16GB class 2 "15MB/s*" | 16.7 | 16.2 | Raspbian Wheezy | 3.1.9+ #168 PREEMPT Sat Jul 14 18:56:31 BST 2012 | man:0x000003 oem:0x5344 name:SD16G hwrev:0x8 fwrev:0x0 |
SanDisk Ultra SDHC 16GB class 10 UHS-1 "30Mb/s" (SDSDU-016G-U46) | 20.9 | 18.1 | Raspbian Wheezy | Linux raspberrypi 3.1.9+ #202 PREEMPT | After Hexxeh rpi-update. man:0x000003 oem:0x5344 name:SU16G hwrev:0x8 fwrev:0x0 |
SanDisk Extreme SDHC I 4GB class 10 "30MB/s" | 19.7 | 21.0 | 2012-07-15-wheezy-raspbian | Linux raspberrypi 3.1.9+ #168 PREEMPT Sat Jul 14 18:56:31 BST 2012 armv6l GNU/Linux | Only boots with images with new firmware, didn't boot with previous images. |
SanDisk Extreme SDHC I 8GB class 10 "30MB/s" | 17.7 | 19.7 | Archlinuxarm 2012-06-13 | Linux raspi 3.1.9-28-ARCH+ #1 PREEMPT Fri Jul 6 23:07:26 UTC 2012 armv6l GNU/Linux | |
SanDisk SDHC 32GB class 6 | 4.6 | 4.8 | |||
SanDisk uSDXC 64GB class 6 | 4.9 | 3.8 | archlinuxarm-29-04-2012 | Linux alarmpi 3.1.9+ #66 Thu May 17 16:56:20 BST 2012 | CrystalDiskMark results (FAT32) |
TDK microSDHC 4GB, Class 4 (80-56-10301-004G) | 11.2 | 4.7 | Debian Wheezy "Raspbian" (2012-07-15) | 3.1.9+ #168 PREEMPT Sat Jul 14 18:56:31 BST 2012 | |
Transcend SDHC 8GB class 6 | 5.8 | 5.8 | |||
Transcend SDHC 8GB Class 6 (TS8GSDHC6) | 4.6 | 4.0 | Debian Squeeze "debian6-19-04-2012" | Linux raspberrypi 3.1.9+ #90 Wed Apr 18 18:23:05 BST 2012 armv61 GNU/Linux | Tested with dd. Card doesn't maintain the promised minimum class speed. |
Transcend SDHC 8GB Class 4 (TS8GSDHC4) | 11.1 | 8.1 | Debian Wheezy "Rasbpian" | Linux raspberrypi 3.1.9+ #168 PREEMPT Sat Jul 14 18:56:31 BST 2012 armv6l GNU/Linux | man:0x000003 oem:0x5344 name:SD08G hwrev:0x8 fwrev:0x0 |
Transcend microSDHC 8GB Kit, Class 4 (TS8GUSDHC4) | 4.7 | 3.7 | Raspbian Wheezy | Linux raspberry-pi 3.1.9+ #1 PREEMPT Wed Jun 6 16:26:14 CEST 2012 armv6l GNU/Linux | man:0x000003 oem:0x5344 name:SU08G hwrev:0x8 fwrev:0x0 |
Transcend SDHC 4GB Class 6 | 9.8 | 8.8 | Fedora Remix FC14 | Linux raspi 3.1.9 #1 PREEMPT Sat Mar 3 21:58:00 UTC 2012 armv6l armv6l armv6l GNU/Linux | Not sure why this setup is faster than others, test results repeatable. |
Transcend SDHC 16GB Class 10 | 20.3 | 11.9 | Debian Wheezy "Rasbpian" | Linux raspberry-pi 3.1.9-cutdown+ #173 | |
Transcend SDHC 32GB Class 10 (TS32GSDHC10E) | 20.3 | 15.3 | Debian Wheezy "Rasbpian" | Linux raspberrypi 3.1.9+ #242 PREEMPT Wed Aug 1 19:47:22 BST 2012 armv6l GNU/Linux | man:0x000074 oem:0x4a45 name:SDC hwrev:0x1 fwrev:0x0 |
Sandisk Extreme Pro SDHC 16GB Class 10 UHS-I (SDSDXPA-016G-A75) | 4.7 | 4.8 | debian6-19-04-2012 | Linux Raspi 3.1.9+ #66 Thu May 17 16:56:20 BST 2012 | Followed a forum post to install newest kernel from git repo. |
SanDisk Extreme Pro SDHC 16GB Class 10 | 20.8 | 18.6 | Debian Wheezy "Raspbian" | Linux raspberrypi 3.1.9+ #125 PREEMPT Sun Jun 17 16:09:36 BST 2012 armv6l GNU/Linux | |
Sandisk Ultra SDHC I Class 6 ("30MB/s") | 4.7 | 4.8 | Debian Wheezy "Raspbian" | 3.2.18+ #3 PREEMPT | Feels faster than my Kingston 4GB Class 4 card. |
WINTEC FileMate Professional SDHC 16GB Class 10 (3FMSD16GBC10-R) | 4.6 | 4.5 | Debian Squeeze "debian6-19-04-2012" | Linux raspberrypi 3.1.9+ #95 PREEMPT Thu May 31 13:21:40 BST 2012 armv6l GNU/Linux | After installing new kernel with rpi-update on 2012-06-01 |
Lexar SDHC 8GB Class 4 "Multi-use" | 18.9 | 6.8 | Debian Wheezy "Raspbian" | 3.1.9+ #110 PREEMPT | |
Lexar SDHC 8GB Class 6 "PLATINUM II" | 19.7 | 10.1 | Debian Wheezy "Raspbian" | 3.1.9+ #168 PREEMPT | |
Lexar SDHC 16GB Class 10 "PLATINUM II" | 5.3 | 4.8 | Debian Wheezy/sid | Linux raspberrypi 3.2.19-rpi1+ #3 | |
Lexar SDHC 16GB Class 10 "PLATINUM II" | 18.9 | 9.0 | Debian Wheezy "Raspbian" | Linux raspbian 3.1.9+ #168 PREEMPT | Same card as 'Lexar SDHC 16GB Class 10 "PLATINUM II"' above - imaged with Raspbian |
Mushkin SDHC 16GB Class 10 MKNSDHCC10-16GB | 19.7 | 10.9 | 2012-07-15-wheezy-raspbian | 3.1.9+ #168 PREEMPT | |
Panasonic SDHC 4GB Class 10 UHS-I | 11.2 | 6.2 | Debian Wheezy "Raspbian" | 3.1.9+ #144 PREEMPT | Panasonic RP-SDU04GE1K |
NIC
Compile/Run
On LAN server:
iperf -s
On Raspberry Pi:
iperf -t 60 -c <SERVER_IP_ADDRESS> -d
Results
Bandwidth (Mbit/s) | CPU usage (top) | Distro | Kernel | Notes |
---|---|---|---|---|
52.1 + 46.4 | 5.1%us, 66.2%sy, 28.7%si | Debian Squeeze "debian6-19-04-2012" | Linux raspberrypi 3.1.9+ #95 PREEMPT | |
91.8 + 36.8 | 1.6%us, 60.8%sy, 37.5%si | Debian Wheezy "Raspbian" | Linux raspbian 3.1.9+ #101 PREEMPT | |
65.1 + 48.8 | 1.3%us, 61.9%sy, 36.8%si | Arch Linux 2012-04-29 | Linux alarmpi 3.1.9-12+ #5 Sat Apr 28 04:49:38 UTC 2012 armv6l ARMv6-compatible processor rev 7 (v6l) BCM2708 GNU/Linux | Remote host connected at gigabit |
69.5 + 29.1 | 0.6%us, 55.5%sy, 40.0%si | Debian Wheezy "Raspbian" | Linux rpi 3.1.9+ #168 PREEMPT | Remote connected at gigabit, values for si between 30 and 55 % |
90.8 + 91.4 | 0.3%us, 62.2%sy, 37.5%si | Gentoo Linux ARM | Linux genpi 3.2.23-bootc #1 | Remote host connected at gigabit, vm.min_free_kbytes = 4096 |
Additional Observations
Using netperf -H [netserver host IP] with Debian Wheezy and changing the CPU clock rate, the TCP performance increased linearly from 61 Mb/s at 500 MHz to 80.6 Mb/s at 900 MHz.
Performance seems to improve considerably by dropping MTU from the default 1500 to 1488. However, this has caused kernel instabilities with Debian Squeeze images (debian6-19-04-2012). It is unknown if this performance benefit is also gained on other images, or if these kernel instabilities have been resolved.
Power
This table lists how much power is drawn over the 5V power cable whilst performing various tasks.
Task | Power use (mA) | Notes |
---|---|---|
Booting (without peripherals) | 120-400 | Taken from Agilent lab power supply readings. No composite/keyboard/mouse/network connected. HDMI was enabled but the cable was disconnected. |
Idling (HDMI on, network on) | 370 | Taken from Agilent lab power supply readings. No composite/keyboard/mouse connected. |
Idling (HDMI on, network off) | 320 | Taken from Agilent lab power supply readings. No composite/keyboard/mouse/network connected. |
1080p video playback | 750 | About 3h on 4 AA batteries |
Text editing | - | Same as idling |
Compiling C code | ? | |
Running a Python program | ? | |
Playing Quake III | ? |
References
|