Article View: es.comp.os.linux.programacion
Article #8678Re: Saludos de nuevo, y pregunta de ensamblador
From: NotFound
Date: Sat, 26 Oct 2002 14:04
Date: Sat, 26 Oct 2002 14:04
50 lines
2726 bytes
2726 bytes
Recurrente escribió: > ¿De verdad no creeis que usando rutinas en ensamblador se puede mejorar la > velocidad del código. No necesariamente por usar ensamblador mejorará la velocidad del código. Y normalmente antes de pensar en usar ensamblador hay que mirar si se puede optimizar el algoritimo. > v=array grande. > for (i=0;i<Ngrande;i++) v[i]/=262144; (...) > for (i=0;i<Ngrande;i++) <codigo ASM para dividir> ; Piensa lo siguiente: el compilador probablemente también sepa reconocer cuando un divisor o multiplicador es una potencia de dos, y también sepa cual es el código óptmimo para hacer la operación en una plataforma concreta. Así que antes de pensar como lo harías en ensamblador compila con optimiazción y salida a ensamblador para ver lo que hace. > De hecho, lo que estaba pensando es implementar tanto el bucle como la > division en ASM. Un bucle simple también es muy probable que el compilador lo genere bastante optimizado. De nuevo, mira lo que hace. > Si funciona, tambien estaba pensando afinarlo un poco más usando rutinas > 3DNow (que creo que son las del AMD ¿no?). Por supuesto sé que con eso > pierdo portabilidad, pero para eso están los #define no? :-D También puedes probar a usar opciones del compilador para decirle que procesador vas a utilizar y que genere código para él. Y de nuevo, compilarlo a ensamblador y ver lo que ha hecho. Claro que si te gusta programar en ensamblador y tienes tiempo también puedes ponerte a escribir ensamblador sin más y comparar los resultados. Pero no hagas la trampa de comparar con el compilador sin optimización ¿eh? ;) Salu2
Technical Details
Message-ID:
<3DBAA0D5.1DCC202D@tengo.no>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.wirehub.nl!btnet-peer!btnet!lnewspeer01.lnd.ops.eu.uu.net!emea.uu.net!cesio.mundo-r.com!not-for-mailReferences:
<3DB8FE6D.6050807@hotmail.com> <pan.2002.10.26.11.34.15.344534@hotmail.com>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,d4e0bb1ca64d9500 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2002-10-26 07:30:49 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.wirehub.nl!btnet-peer!btnet!lnewspeer01.lnd.ops.eu.uu.net!emea.uu.net!cesio.mundo-r.com!not-for-mail From: NotFound <correo@tengo.no> Newsgroups: es.comp.os.linux.programacion Subject: Re: Saludos de nuevo, y pregunta de ensamblador Date: Sat, 26 Oct 2002 16:04:05 +0200 Organization: Another Netscape Collabra Server User Lines: 50 Message-ID: <3DBAA0D5.1DCC202D@tengo.no> References: <3DB8FE6D.6050807@hotmail.com> <pan.2002.10.26.11.34.15.344534@hotmail.com> NNTP-Posting-Host: cm65014.red.mundo-r.com Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Mailer: Mozilla 4.77 [es] (X11; U; Linux 2.4.4-4GB i686) X-Accept-Language: en