Re: Investir dans le ``savoir faire'' (Was: Re: fonction c++)

2002-09-04 Par sujet Marc SCHAEFER
On Wed, 4 Sep 2002, Félix Hauri wrote: > > > (une entreprise n'a pas de savoir faire, elle a des employés). > Aïe! > > Si ce que tu dis est vrai alors comment convaincre une entreprise > d'investir dans la formation? Non, justement, et on refait la formation à chaque départ d'employé :) > Comm

Investir dans le ``savoir faire'' (Was: Re: fonction c++)

2002-09-04 Par sujet Félix Hauri
On Tue, 3 Sep 2002, Daniel Cordey wrote: > On Tuesday 03 September 2002 16:58, Marc SCHAEFER wrote: > > > Sauf s'ils ont déjà renvoyé les personnes qui savaient. Ou que ceux-ci ont > > trouvé un meilleur boulot. > > Oui, c'est déjà arrivé par le passé (Apollo). Mais en général, les sociétés >

Re: fonction c++

2002-09-04 Par sujet Daniel Cordey
Finalement, voici le code assembleur de la fonction suivante généré pour un processeur Itanium. Note : j'ai pris un tableu assez grand pour éviter les "loop unrolling" et poub=voir tester les performances (pas fait pour finir) uint BitCount(uint *w) { uint r = 0;

Re: fonction c++

2002-09-03 Par sujet Daniel Cordey
On Tuesday 03 September 2002 16:58, Marc SCHAEFER wrote: > Sauf s'ils ont déjà renvoyé les personnes qui savaient. Ou que ceux-ci ont > trouvé un meilleur boulot. Oui, c'est déjà arrivé par le passé (Apollo). Mais en général, les sociétés font un (petit) effort pour garder certains. Entre autre

Re: fonction c++

2002-09-03 Par sujet Marc SCHAEFER
On Tue, 3 Sep 2002, Daniel Cordey wrote: > Maîtriser une architecture EPIC ne s'improvise pas du jours au > lendemain. HP a aujourd'hui plusieurs longueurs d'avances dans cette > technologie, car ils ont commencés à travailler la-dessus vers 1985-86. Sauf s'ils ont déjà renvoyé les personnes qui

Re: fonction c++

2002-09-03 Par sujet Daniel Cordey
On Monday 02 September 2002 21:52, Marc Mongenet wrote: > Comme Intel/HP l'ont fait dans ce projet : > http://www.intel.com/technology/itj/q32001/articles/art_4.htm Je suis en train de lire l'article, et avant d'avoir fini, je lis ce qui suit : There was no runtime environment available on UNIX

Re: fonction c++

2002-09-03 Par sujet Daniel Cordey
On Monday 02 September 2002 21:52, Marc Mongenet wrote: > Avec le ADDIB ça devient franchement du CISC (comme DBcc sur MC68000). Sauf que ADDIB prend 2 cycles avec le branchement ! > Je ne sais plus. Je me souviens d'articles à propos des prévisions > de performances que les fabricants font ava

Re: fonction c++

2002-09-02 Par sujet Marc Mongenet
Daniel Cordey wrote: > On Monday 02 September 2002 01:05, Marc Mongenet wrote: > $0003 > EXTRW,U %r31,31,8,%r24 ;offset 0x10 > ADD,L %r28,%r24,%r28 ;offset 0x14 > $0001 > ADDIB,<>1,%r23,$0003;offset 0x18 > EXTRW,U %r31,15,16,%r31 ;of

Re: fonction c++

2002-09-02 Par sujet Daniel Cordey
On Monday 02 September 2002 01:05, Marc Mongenet wrote: > Sur un microprocesseur moderne je ne suis pas sûr que ce soit > possible. Avec le pipelining, la multi-scalarité, les prédictions > de branchement, les caches miss (L1/L2, instructions/données, TLB), > les problèmes d'alignement, les charg

Re: fonction c++

2002-09-01 Par sujet Marc Mongenet
Daniel Cordey wrote: >>Bien d'accord que des autres principes peuvent etre plus efficaces. >>btw une multiplication par deux est souvent traduit par add eax, eax. > Et maintenant, il reste à faire la somme des cycles machines pour chaque > boucle. J'imagine que sur ix6 une multiplication s'ffect

Re: fonction c++

2002-09-01 Par sujet Daniel Cordey
On Sunday 01 September 2002 18:25, Marc SCHAEFER wrote: > On Sat, 31 Aug 2002, Marc Mongenet wrote: > > Sur Motorola 68000 (désolé, je ne connais pas assez le 386, déjà > > le 68000 j'oublie), une boucle de 3 instructions : > > Le dernier processeur à assembleur confortable ? Ouai, parcequ'avec I

Re: fonction c++

2002-09-01 Par sujet Daniel Cordey
On Friday 30 August 2002 20:08, Roman Merz wrote: > Bien d'accord que des autres principes peuvent etre plus efficaces. > > btw une multiplication par deux est souvent traduit par add eax, eax. Et maintenant, il reste à faire la somme des cycles machines pour chaque boucle. J'imagine que sur ix

Re: fonction c++

2002-09-01 Par sujet Marc SCHAEFER
On Sat, 31 Aug 2002, Marc Mongenet wrote: > Sur Motorola 68000 (désolé, je ne connais pas assez le 386, déjà > le 68000 j'oublie), une boucle de 3 instructions : Le dernier processeur à assembleur confortable ? :) -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question. Ouai

Re: fonction c++

2002-08-31 Par sujet Marc Mongenet
Marc Mongenet wrote un bug (dans 65535 cas sur 65536). > ; IN D0.w mot > ; OUT D1.w nb de bits > >move.w D2,-(SP) ; D2 sera utilisé pour optimiser >sub.wD2,D2; D2 = 0; bit X = 0 > > Loop: addx.w D2,D1; D1 += 0 + X >add.wD0,D0; D0 += D0; X = re

Re: fonction c++

2002-08-31 Par sujet Marc Mongenet
Marc SCHAEFER wrote: > On Fri, 30 Aug 2002, Félix Hauri wrote: > > [ dans le cas présent, sauf problèmes de mémoire, je passerais > probablement par le tableau de 64k, en particulier vu qu'avec > un seul déréférencement on y arrive et que le nombre de bits > à 1 est au max 16) > ] Sur K6 ç

Re: fonction c++

2002-08-31 Par sujet Marc Mongenet
Roman Merz wrote: > Pas C++, car le code produit ne serait pas aussi facilement > lisible. Ah ? Étonnant. Avec GCC 3.2 en tout cas les deux codes produits sont aussi lisibles, à l'exception du mangling de nom de fonction en C++. > test1 & test2: > 080484B6 31 DB xor ebx , ebx

Re: fonction c++

2002-08-30 Par sujet Roman Merz
On Friday 30 August 2002 08:49, Daniel wrote: > Sauf erreur, le compilateur est capable de détecter une > division/multiplication par une constante puissance de 2, et de transformer > cette opération en bit-shift équivalent. > Seul le résultat du bench nous dira si la téorie se confirme :-) Tes

Re: fonction c++

2002-08-30 Par sujet Daniel Cordey
On Friday 30 August 2002 10:36, Marc SCHAEFER wrote: > PS: pour revenir à l'idée de division entière et de modulo, il ne faut pas > oublier que beaucoup de processeurs ont une opération de division qui > fait les deux à la fois. Et le résultat se trouve dans deux registres séparés ? >

Re: fonction c++

2002-08-30 Par sujet Marc SCHAEFER
On Fri, 30 Aug 2002, Félix Hauri wrote: [ dans le cas présent, sauf problèmes de mémoire, je passerais probablement par le tableau de 64k, en particulier vu qu'avec un seul déréférencement on y arrive et que le nombre de bits à 1 est au max 16) ] > Si on tourne dans l'autre sens ( x2 au li

Re: fonction c++

2002-08-30 Par sujet Daniel Cordey
On Friday 30 August 2002 09:29, Félix Hauri wrote: > Si on tourne dans l'autre sens ( x2 au lieu de /2 ) alors on doit pouvoir > se contenter d'additionner le bit de retenue (si tant est que cette notion > existe en C, vieux souvenir d'assembleur;) Le décalage se fait simplement dans l'autre sen

Re: fonction c++

2002-08-30 Par sujet Félix Hauri
On Fri, 30 Aug 2002, Daniel Cordey wrote: > On Thursday 29 August 2002 19:32, Ivo Bloechliger wrote: > > > >for (i = 0; i < 16; ++i) { > > >r += w % 2 ; // on accumule le reste de la division entiere par deux > > > w = w / 2; // division entiere */ > > Sauf erreur, le compilateur est ca

Re: fonction c++

2002-08-29 Par sujet Daniel Cordey
On Thursday 29 August 2002 19:32, Ivo Bloechliger wrote: > >for (i = 0; i < 16; ++i) { > >r += w % 2 ; // on accumule le reste de la division entiere par deux > > w = w / 2; // division entiere */ Sauf erreur, le compilateur est capable de détecter une division/multiplication par une

Re: fonction c++

2002-08-29 Par sujet Marc Mongenet
Ivo Bloechliger wrote: > >>On Thu, Aug 29, 2002 at 06:34:28PM +0200, Francois Ryser wrote: >> >>>Bonjours, >>> >>>Je recherche une methode en c++ de compter le nombre de bits a 1 dans des >>>mots de 16 bits, mais avec un imperatif de vitesse car nous devons faire sur >>>1 million de mots de 16 bi

Re: fonction c++

2002-08-29 Par sujet Ivo Bloechliger
Philippe Strauss wrote: [EMAIL PROTECTED]"> On Thu, Aug 29, 2002 at 06:34:28PM +0200, Francois Ryser wrote: Bonjours,Je recherche une methode en c++ de compter le nombre de bits a 1 dans desmots de 16 bits, mais avec un imperatif de vitesse car nous devons faire sur1 million de mots d

Re: fonction c++

2002-08-29 Par sujet Philippe Strauss
On Thu, Aug 29, 2002 at 06:34:28PM +0200, Francois Ryser wrote: > Bonjours, > > Je recherche une methode en c++ de compter le nombre de bits a 1 dans des > mots de 16 bits, mais avec un imperatif de vitesse car nous devons faire sur > 1 million de mots de 16 bits utilise la division modulo avec