[Linux] perfs 32 vs 64 bits

Alain Bosch alainbosch@::1
Mar 5 Jan 11:49:09 CET 2010


Tout ça me rappelle les débats 16/32 bits... 

Des chiffres:

  BYTE UNIX Benchmarks (Version 3.11)
  System -- Linux minimax 2.6.26-2-amd64 #1 SMP Thu Nov 5 02:23:12 UTC 2009 x86_64 GNU/Linux
  Start Benchmark Run: mardi 5 janvier 2010, 10:01:58 (UTC+0100)
   1 interactive users.
Dhrystone 2 without register variables   6058820,0 lps   (10 secs, 6 samples)
Dhrystone 2 using register variables     5880717,6 lps   (10 secs, 6 samples)
Arithmetic Test (type = arithoh)         199013887,1 lps   (10 secs, 6 samples)
Arithmetic Test (type = register)        371548,6 lps   (10 secs, 6 samples)
Arithmetic Test (type = short)           363842,4 lps   (10 secs, 6 samples)
Arithmetic Test (type = int)             371455,2 lps   (10 secs, 6 samples)
Arithmetic Test (type = long)            220616,7 lps   (10 secs, 6 samples)
Arithmetic Test (type = float)           925666,4 lps   (10 secs, 6 samples)
Arithmetic Test (type = double)          827759,7 lps   (10 secs, 6 samples)
System Call Overhead Test                1079599,5 lps   (10 secs, 6 samples)
Pipe Throughput Test                     403953,2 lps   (10 secs, 6 samples)
Pipe-based Context Switching Test          no measured results
Process Creation Test                      5322,7 lps   (10 secs, 6 samples)
Execl Throughput Test                      no measured results
C Compiler Test                             686,0 lpm   (60 secs, 3 samples)
Dc: sqrt(2) to 99 decimal places          78746,8 lpm   (60 secs, 6 samples)
Recursion Test--Tower of Hanoi            85309,0 lps   (10 secs, 6 samples)


  BYTE UNIX Benchmarks (Version 3.11)
  System -- Linux minimax 2.4.31 #22 SMP dim sep 18 09:28:07 CES T 2005 i686 GNU/Linux
  Start Benchmark Run: mar sep 20 23:36:03 CEST 2005
   3 interactive users.
Dhrystone 2 without register variables   4358402,6 lps   (9 secs, 6 samples)
Dhrystone 2 using register variables     4364331,1 lps   (9 secs, 6 samples)
Arithmetic Test (type = arithoh)         9043226,7 lps   (9 secs, 6 samples)
Arithmetic Test (type = register)        412036,0 lps   (9 secs, 6 samples)
Arithmetic Test (type = short)           388175,8 lps   (9 secs, 6 samples)
Arithmetic Test (type = int)             411964,8 lps   (9 secs, 6 samples)
Arithmetic Test (type = long)            412198,2 lps   (9 secs, 6 samples)
Arithmetic Test (type = float)           809705,2 lps   (9 secs, 6 samples)
Arithmetic Test (type = double)          809551,3 lps   (9 secs, 6 samples)
System Call Overhead Test                1037906,9 lps   (9 secs, 6 samples)
Pipe Throughput Test                     1258457,8 lps   (9 secs, 6 samples)
Pipe-based Context Switching Test        127577,0 lps   (9 secs, 6 samples)
Process Creation Test                      3918,2 lps   (9 secs, 6 samples)
Execl Throughput Test                      2713,1 lps   (9 secs, 6 samples)
C Compiler Test                             713,6 lpm   (59 secs, 3 samples)
Dc: sqrt(2) to 99 decimal places          84311,5 lpm   (59 secs, 6 samples)
Recursion Test--Tower of Hanoi            75331,0 lps   (9 secs, 6 samples)

C'est fait à l'arrache et les vieux résultats sont avec un noyau refait à la mimine alors que l'autre c'est du vanilla debian.

Bon après ça dépend ce qu'on fait avec la babasse. Pour du traitement d'images ça doit valoir la peine...

On Mon, Jan 04, 2010 at 08:25:00PM +0100, Cyril Chaboisseau wrote:
> * Alain Bosch <alainbosch@::1> [2010-01-04 18:09 +0100]:
> 
> > On Thu, Dec 31, 2009 at 10:17:11AM +0100, Cyril Chaboisseau wrote:
> > > vu que la question a été posé au moins 1 ou 2 fois sue la liste et
> > > pour les sceptiques qui douteraient encore de l'intérêt de passer sur
> > > une distribution 64bits sur une machine récente, voici un benchmark sur
> > > une machine avec 4Go de RAM et un core 2 duo avec un noyau 32bits, 32
> > > bits PAE et 64 bits
> > > 
> > > http://www.phoronix.com/scan.php?page=article&item=ubuntu_32_pae
> > J'ai rien contre les bench mais un facteur en x17 ou x10 ça me parait carrément malsain.
> 
> c'est pas à moi qu'il faut le dire mais je t'avoue que ça m'a aussi bien
> fait sursauter
> 
> + d'infos sur le forum de phoronix ou bien dans le fil de discussion sur
> la ML Linux Kernel
> http://www.phoronix.com/forums/showthread.php?t=21227
> http://lkml.org/lkml/2009/12/31/114
> 
> l'explication la plus plausible est que les bench donnant un fort
> facteur d'amélioration sont des tests qui font énormément d'accès
> mémoire (limité à 3Go en 32 bits) ce qui oblige p-e à swapper
> 
> une autre explication mais qui ne justifierais pas forcément un tel
> ratio est qu'en 64 bits il y beaucoup plus de registres et que les
> calculs intensifs restent dans ces derniers beaucoup plus rapides que
> les accès mémoire (y compris cache L1/L2)
> 
> pour info, voici les différents types d'accès mémoire sur les machines
> utilisées typiquement chez Google
> 
> L1 cache reference                             0.5 ns
> Branch mispredict                              5 ns
> L2 cache reference                             7 ns
> Mutex lock/unlock                             25 ns
> Main memory reference                        100 ns
> [...]
> cf. http://www.linux-mag.com/cache/7589/1.html
> 
> > C'est vrai que la compatibilité 32 / 64 s'est améliorée.
> 
> sachant que c'est un pis aller (la must c'est d'avoir l'appli en 64 bits
> si tant est que les sources soient dispo ou que l'éditeur veuille bien
> réaliser le portage)
> 
> 
> -- 
> 	Cyril Chaboisseau

-- 
 Il faudrait créer fr.smic.* pour les discussions pas chères.
 Avec fr.smic.arts.* en dessous.
 -+- MB in: Guide du Cabaliste Usenet - La Cabale brade -+-


Plus d'informations sur la liste de diffusion linux