Benchmarks: AMD64 in 32bit mode vs 64bit mode

By Artyom Tonkikh (18/12/2006)

There are lots of discussions about the performance of the 64bit software. It is known that most of 64bits software should use more memory, should have larger code size etc.. However there are very few reasonable comparisons that test wide range of useful software. Most of them are related to Windows XP 64bit edition that still comes with lots of 32bit software. So this article represents the results of performance measurements of wide range of software that is compiled in 32 and 64 bit mode.

Environment

In order to do fair comparison two LiveCD's of Ubuntu Linux were used. Both have similar versions of the software compiled in 32 or 64 bit mode.

Tests

The following tests where performed:

  1. Audio processing: converting audio track in wav format to mp3 with VBR settings (using lame encoder)

  2. Audio processing: converting audio track in wav format to ogg vorbis (using oggenc – part of vorbis-tools)

  3. Image processing: converting number of images applying on them despeckle, resizing them and then applying sharpening filters. (using ImageMagick)

  4. Mathematical operations: generating random 50 matrices of 1000x1000, inverting them and multiplying all together. (using octave)

  5. Video processing: converting video clip to mpeg4 using XVid encoder, applying, sharpening and median filters. (using AviDemux)

  6. 3D Rendering: creation of images of sample 3D objects with Blender.

  7. Gaming: two demonstration runs of Nexuiz 3D game - FPS test.

  8. Web Browsing: CSS Page Rendering and Java Script speed tests using following tests: http://www.howtocreate.co.uk/csstest.html, http://www.24fun.com/downloadcenter/benchjs/benchjs.html

  9. Code compilation: Compilation of sample code using gcc compiler with -O3 optimization.

  10. Web Server: Measurement of number of requests per second for simple HTML file using apache2.

  11. LAMP Stack: Measurement of number of requests per second for main page of Wordpress blog that runs on Apache 2, MySQL 4.1 and PHP 5.

Hardware

AMD Athlon 64 3000+ Venice Core, 1GB RAM, nVidia 6600 128MB,

Results

Run time comparison

Software

i386 run time sec.

amd64 run time sec.

Gain %

Lame

1:03.4

1:05.6

-3%

Ogg

0:33.6

0:23.6

42%

ImageMagick

0:31.8

0:15.5

105%

Octave

2:25

1:21

79%

AviDemux

8:45

7:18

20%

Blender

3:06,

2:49*

1:59,

2:21*

56%

20%*

GCC

20.8

21.1

-1.3%

Firefox Java Script

1.558, 2.529, 0.897, 2.432, 0.295, 3.144, 1.032

1.495, 2.625, 0.773, 2.142, 0.288, 2.833, 1.056

6.0%

Firefox CSS Rendering

1.214

0.976

24%

*) Usage of memory of 64 bit Blender was significantly higher in the second test: 410MB when 32bit used only 300MB.

FPS Tests

Software

test description

i386

amd64

Gain %

Nexuiz

FPS demo1/demo2

9.74,

4.48

11.4,

5.41

17.5%

20.8%

Server Load Tests

Software

test description

i386

amd64

Gain %

LAMP Stack

requests per second for different number of concurrent requests

1

2

5

10

15

20

25

5.97

6.21

6.06

5.78

5.62

5.38

5.30

7.12

7.35

7.18

6.93

6.62

6.24

6.28

19.3

18.4

18.5

19.9

17.8

16.0

18.5

18.3



Apache

requests per second for different number of concurrent requests

1

2

5

10

15

20

25

441

532

601

819

1143

1221

1031

636

1006

1132

1153

1162

1198

1163

44.0

89.0

88.3

40.8

1.70

-1.90

12.8

39.2






Conclusions

Wide range of software was tested that covers major aspects of computers usage:

  1. Multimedia – audio, video and image processing.

  2. Server purpose software – LAMP stack and standalone HTTP server.

  3. Development tools – mathematical processing and compilation.

  4. Software for daily/home use – Mozilla Firefox web browser.

  5. Gaming – Nexuiz FPS game.

Following conclusions were made:

  1. It was clearly shown that most of applications have better performance in 64 bit environment.

  2. Performance degradation was observed in very few cases and it was very low – in about few percents – lame MP3 encoder, GNU compiler.

  3. Most of applications have 20-30% performance gain in 64 bit mode.

  4. In very few cases the gain was extremely high – 70-100% – mathematical processing in octave, image processing with ImageMagic.

Notes on Measurements

  1. Lame, oggenc, imagemagick, avidemux and octave test were done using Ubuntu 6.06 Dapper beta 6 LiveCD, the rest of them were done using Ubuntu 6.10 Edgy LiveCD.

  2. The information on run time of Firefox JavaScript engine and CSS rendering was received from the test scripts themselves. The run time of Blender was given as a part of the report. The rest of measurements were done using “time” command, “real time” was used as run time.

  3. Nexuiz FPS test were done using demos that were included in game, the mean FPS was written in log.

  4. Server load was measured using apache benchmark tool “ab”. It was run from a client PC with following specs: Sempron 2400, 768MB of RAM.
    ab -n N -c C URL
    Where:
    N – number of total requests: 1000 for Apache test and 100 for LAMP test.
    C – number of concurrent requests.

  5. In both cases Standard Ubuntu kernels were used, no tweaks of performance were done. All the packages were taken from official repositories without any tweaks.

Thanks:

Special thanks to Shlomi Israel (sijp) for preparation of benchmark files for blender testing.

Some rights reserved – you may redistribute this document under attribution license of Creative Commons 1.0 Israel.