GPD MicroPC arrived

Overall impression

MicroPC looks very robust. The build quality is quite impressive. Chinese companies definitely improve their skills. The keyboard is one of the most comfortable handheld keyboards I’ve ever used. The size of the device is significantly smaller than size of similar devices from UMPC era (see comparison photos below).

In general I really like the device. I can’t mention any disadvantages so far.

I did’t like the original GPD case, because it’s designed to fit much larger devices (GPD Pocket, probably). So I ended up using the FlipStart bag instead, because I have an extra one and the MicroPC fits perfectly.

Benchmarks

The performance of MicroPC is significantly higher than the performance of Microsoft Surface 3.

DOOM 3 benchmark (1280×720, graphic quality set to high, timedemo demo1)

Device FPS (1st run) FPS (2nd run) FPS (3rd run) Average FSB
GPD MicroPC 10W 39.5 44.6 47.0 43,7
Microsoft Surface 3 30.5 31.7 34.1 32,1

It’s also worth mentioning that Surface 3 is unable to sustain this perofrmance during long period of time. Without active cooling Surface 3 starts throttling and the performance decreases to 23-24 FPS.

Benchmarking Toshiba Libretto 70CT

Introduction

Toshiba Libretto 70CT is based on Intel Mobile Pentium MMX 120 Mhz (sSpec number SL2JS). Lets compare this this processor with a desktop Pentium MMX of the same time:

Model number Lithography Frequency L1 Cache FSB TDP sSpec number
Mobile Pentium MMX 120 0.35 µm 120 Mhz 16+16 KiB 60 MT/s 4.2 W SL2JS
Pentium MMX 166 0.35 µm 166 Mhz 16+16 KiB 66 MT/s 13.1 W SL239, SL27H

Despite being built using the same lithography technology as the desktop Pentium MMX processors (0.35 µm) and having comparatively close frequency (the desktop processor has 38% higher frequency), SL2JS has significantly smaller TDP (the TDP of the desktop processors is 3.12 times higher, than the TDP of SL2JS).

Because of this fact I became curious whether the performance SL2JS will be identical to the performance of a desktop MMX processor with the same frequency of 120 Mhz. In order to find this out I prepared a test setup and executed few CPU benchmarks. The benchmark results are presented below.

Testing methodology

The following programs were used to test CPU performance:

  • SiSoft Sandra version 2001.0.7.10;
  • PassMark Performance Test 5.0 build 1038;
  • CPUBENCH version 4.0.0.6;
  • Speedsys version 4.78;
  • Landmark System Speed Test version 6.00;
  • Norton System Information 8.0;
  • Quake version 1.0.6. Settings: resolution is 320×200, disabled sound, disabled cdaudio, demo1 used as demo map. Full config is available here.

All tests performed after suitable warm-up period.

Setup #1 description

Toshiba Libretto 70CT

Device: Toshiba Libretto 70CT
BIOS version: 6.40
CPU: Mobile Pentium MMX 120 (SL2JS)
RAM: 32Mb (including genuine 16Mb extension module)
Video: Chips & Technology F65550 1Mb
OS: Windows 98 SE 4.10.2222 A

Setup #2 description

Intel Pentium MMX 166

Motherboard: Lucky Star 5I-VX1F
BIOS version: 4.51PG
CPU: There is no desktop Pentium MMX clocked at 120 Mhz. Therefore a downclocked Pentium MMX 166 was used (clocked at 120 Mhz with 60 MHz FSB). There were used two samples with different spec numbers: SL239 and SL27H.
RAM: Hitachi 32Mb SDRAM 81117822a-100fn
Video: S3 Trio64V2/DX 2 Mb
PSU: Linkworld LP12SWITCH 200W
OS: Windows 98 SE 4.10.2222 A

Test results

Landmark System Speed test results

Speedsys test results

Norton System Information test results

As we can see, DOS benchmarks didn’t detect any difference. However, Windows benchmarks show a different picture.

PassMark Performance Test results

SiSoft Sandra test results

CPUBENCH test results

In most tests the SL2JS is behind its desktop competitors. In some test the gap is as big as 49%, but the average difference is only 10%.

I also decided to execute one additional test with Quake. However, the results of this benchmark can not be linked directly to CPU. This benchmark is highly dependent on video output and there are different video chip used in the test
setups. Anyway, here is the result.

PassMark Performance Test results

Conclusion

The presumption was confirmed. The performance of SL2JS is not identical to the performance of a desktop MMX processor with the same frequency. However, the average difference in performance is not very significant: it’s just 10%.

Cortex-A8 vs Coppermine

Samples description

I made a few benchmarks of two devices:

  1. The Pandora device (based on OMAP3530).
  2. A PC with 256 Mb SDR RAM and one of the following CPUs: Pentium 3 and
    Celeron.

Both systems used the same gcc-4.4.3 and glibc-2.11.2.
Whole systems were compiled with the following flags:

PC flags:

CFLAGS="-O2 -march=native -pipe"
CXXFLAGS="${CFLAGS}"

Global USE includes sse and mmxю ffmpeg’s use uncludes mmxext.

OMAP flags:

CFLAGS="-O2 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

OMAP’s DSP was not used.

Legend

  • OMAP@600 is OMAP3530 running at 600Mhz (default for Pandora).
  • OMAP@850 is OMAP3530 overclocked to 850Mhz.
  • P3@600/133 is Pentium 3 EB (the Coppermine core) running at 600 Mhz (FSB clocked at 133Mhz).
  • Cel@600/66 is Celeron (the Coppermine-128 core) running at 600 Mhz (FSB clocked at 66Mhz).

Compilation

I want to emphasize that it is not a performance benchmark, because compilation is done for different architectures (ARM and x86). It is a benchmark of one particular task, which is essential for gentoo users.

package OMAP@600 OMAP@850 P3@600/133 Cel@600/66
binutils-2.20.1, m:s 37:50 28:45 20:06 28:23
glibc-2.11.2, m:s 177:27 138:19 104:09 145:16

OMAP3530 overclocked to 850 Mhz is very close to Celeron running at 600 Mhz.

Nbench

Nbench is a synthetic performance test.

The used version: nbench-2.2.3-r1

index OMAP@600 OMAP@850 P3@600/133 Cel@600/66
memory 3.040 4.364 2.811 2.745
integer 3.073 4.365 2.761 2.751
floating-point 0.533 0.761 5.477 5.268

Nbench does not show any difference between Pentium 3 and Celeron, which is strange.

MPlayer

MPlayer was used to measure video decoding time.
The used version: mplayer-1.0_rc4_p20091026-r1
Command line:

mplayer -benchmark -vo null -nosound input_file

Input files: Big Buck Bunny at 480p in MPEG4, H.264 and Theora/Vorbis.

codec OMAP@600 OMAP@850 P3@600/133 Cel@600/66
FFmpeg H.264, s 546.3 409.5 221.1 369.9
FFmpeg MSMPEG-4, s 175.3 128.1 98.4 130.2
Theora, s 497.9 367.8 256.2 322.7

FFmpeg

FFmpeg was used for encoding MPEG4 to Theora/Vorbis.
The used version: ffmpeg-0.5_p20373
Command line:

time ffmpeg -i input_file.avi -vcodec libtheora -acodec libvorbis \
-vb 1024k -s 640:360 output_file.ogv

Input files: Big Buck Bunny, Sintel trailer.

movie OMAP@600 OMAP@850 P3@600/133 Cel@600/66
big buck bunny, m:s 143:21 102:38 43:45 47:51
sintel trailer, m:s 13:39 9:48 3:59 4:30

Compression

The used tools: bzip2-1.0.5-r1, gzip-1.4
Command lines:

time bzip2 big_buck_bunny_480p_stereo.avi
time gzip big_buck_bunny_480p_stereo.avi

Input files: big_buck_bunny_480p_stereo.avi

compressor OMAP@600 OMAP@850 P3@600/133 Cel@600/66
bzip2, m:s 6:48 5:17 6:08 7:45
gzip, m:s 1:55 1:39 0:53 1:42

Hashing

The used tools: coreutils-8.5
Command lines:

time md5 big_buck_bunny_480p_stereo.avi
time sha256 big_buck_bunny_480p_stereo.avi
time sha512 big_buck_bunny_480p_stereo.avi

Input files: big_buck_bunny_480p_stereo.avi

algorithm OMAP@600 OMAP@850 P3@600/133 Cel@600/66
md5, s 2.45 1.18 1.95 2.15
sha256, s 7.20 5.17 8.30 8.68
sha512, m:s 1:10 0:43 0:29 0:31

JavaScript

The used tools: midori-0.2.6, webkit-gtk-1.1.15.4, V8 version 5, SunSpider-0.9.

suite OMAP@600 OMAP@850 P3@600/133 Cel@600/66
V8 57.4 80.2 305 253
SunSpider, ms 23053.8 18327.0 4744.6 5520.4