Journal AMD64 pour quoi faire

Posté par  .
Étiquettes : aucune
0
10
mai
2007
Avis à tous ceux qui vont migrer vers la nouvelle Debian, ont une machine compatible AMD64, et se demandent s'il faut passer au 64 bit.

J'ai la chance de pouvoir mettre les versions 32 et 64 bit de SID dans une machine AMD-2.4GHz-512kb de cache, et contrairement à mes mesures d'il y a 2 ans, l'encodage vidéo libre profite actuellement beaucoup du 64 bit, voici les résultats avec le mencoder de debian-multimedia :

- Encodage x264-faac video1 :
temps 32bit = 102s
temps 64bit = 84s

- Encodage lavc-lavc video2 :
temps 32bit = 34s
temps 64bit = 29s

Soit +21% pour la première, et +17% pour la deuxième. Mes mesures d'il y a deux ans tournaient vers +6%.
  • # Comme quoi.

    Posté par  . Évalué à -1.

    Comme quoi le compilateur ne fait pas tout.
    • [^] # Re: Comme quoi.

      Posté par  . Évalué à 7.

      enfin c'est largement possible que ça soit le compilo qui optimise mieu pour les archi x86-64
      • [^] # Re: Comme quoi.

        Posté par  . Évalué à 1.

        Possible, mais pas si probable : le compilateur AMD64 est quand même bien plus jeune que le IA32.

        ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

    • [^] # Re: Comme quoi.

      Posté par  (site web personnel) . Évalué à 7.

      Cela n'a rien à voir avec le compilateur. Ce genre de soft ont leur boucle interne ultra optimisé en assembleur SIMD.

      Au début du 64 bits, le code n'était pas écrit et utilisait donc la version C pure, lente donc.

      Depuis, les versions 64 bits ont évolué. Vu qu'il y a 2 fois plus de registres, l'augmentation de performance est logique.

      "La première sécurité est la liberté"

  • # Hé manu...

    Posté par  . Évalué à 0.

    Tu descends ?
    --->[]

    hem, à mon avis ça tient surtout de l'utilisation de certains jeux d'instructions comme sse, non utilisés en x86 par soucis de compatibilité.
    • [^] # Re: Hé manu...

      Posté par  . Évalué à 2.

      Je crois que non, car mencoder utilise à la volée les instructions disponibles :


      En 32 :
      CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
      Compiled with runtime CPU detection.

      En 64:
      CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
      Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2


      Mais je ne suis pas expert en assembleur ;-)

      ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

  • # Options de gcc ?

    Posté par  (site web personnel) . Évalué à 2.

    Pour faire de jolis benchmark, il faut recompiler l'application testée avec différentes options de gcc pour voir ce que ça change. gcc 4.0, 4.1 et 4.2 ont sûrement des performances différentes. La branche 4.x introduit pas mal de technologies qui visent à exploiter MMX, SSE & cie. Voir :
    http://gcc.gnu.org/projects/tree-ssa/vectorization.html

    Options à tester : -march=CPU, -O2, -O3, -ftree-vectorize, -funroll-loops -ffast-math, ...
    • [^] # Re: Options de gcc ?

      Posté par  . Évalué à 9.

      Oui, mais enfin mon but était juste de m'assurer qu'une distribution 64 sans hacking apportait un plus.

      ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

  • # AMD64 pour quoi faire?

    Posté par  (site web personnel) . Évalué à 3.

    Pour faire le kéké avec sa Gentoo :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.