Article View: es.comp.os.linux.programacion
Article #8670Re: Saludos de nuevo, y pregunta de ensamblador
From: Andres Legarra Albizu
Date: Fri, 25 Oct 2002 19:25
Date: Fri, 25 Oct 2002 19:25
66 lines
2762 bytes
2762 bytes
Hola,
Recurrente wrote:
...
> Ahora tengo una peque�a cuesti�n, a ver si pod�is aconsejarme. Tengo una
> simulaci�n escrita en C bastante costosa en tiempo/memoria, pero lo que
> m�s me preocupa es el tiempo. He estado pensando posibles formas de
> mejorarla y en concreto la de incluir c�digo en ensamblador.
> Especialmente lo pienso utilizar para realizar operaciones elemento a
> elemento con dos matrices muy grandes (suma, multiplicaci�n, etc). Ahora
> lo hago con un bucle for.
No tengo ni idea de c, pero en Fortran es mucho mas rapido programar los
bucles tal que asi:
for j=1,n
for i=1,n
A(i,j)= (lo que sea)
end
end
que con los indices i y j al reves
...porque los elementos contiguos en memoria son los A(1,1) A(2,1) y
asi... viene en cualquier texto de Fortran.
No se si esto te puede servir para el codigo en C
(De ensambladores, ni idea)
...
> Ya que estamos tengo otra consulta relacionada: en el programa tengo que
> dividir frecuentemente los elementos de grandes matrices por potencias
> de 2. Si los elementos fueran enteros esto ser�a muy f�cil , pero al ser
Se me ha ocurrido un truco muy cutre que no se si sera mejor o peor
(depende de lo que hagas con el programa).
a/(b**2) = exp(ln(a)-2*ln(b)). Si puedes trabajar todo el tiempo con los
logaritmos, seria mejor. Si no, horrible.
Ah y date una vuelta por www.netlib.org que es facil que alguien haya
hecho lo mismo o parecido ...
Suerte
Andres
--
Andres Legarra Albizu
University of Georgia,
Department of Animal and Dairy Science,
354 Animal and Dairy Science Complex,
Athens, GA, 30602.
e-mail: alegarra@uga.edu.
Phone: (706) 583 0250.
Fax: (706) 583 0274.
Technical Details
Message-ID:
<3DB99A9F.1000002@uga.edu>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!fu-berlin.de!uni-berlin.de!nebraska.ads.uga.EDU!not-for-mailReferences:
<3DB8FE6D.6050807@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-25 12:24:25 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!fu-berlin.de!uni-berlin.de!nebraska.ads.uga.EDU!not-for-mail From: Andres Legarra Albizu <alegarraquitaesto@uga.edu> Newsgroups: es.comp.os.linux.programacion Subject: Re: Saludos de nuevo, y pregunta de ensamblador Date: Fri, 25 Oct 2002 15:25:19 -0400 Lines: 67 Message-ID: <3DB99A9F.1000002@uga.edu> References: <3DB8FE6D.6050807@hotmail.com> NNTP-Posting-Host: nebraska.ads.uga.edu (128.192.176.186) Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Trace: fu-berlin.de 1035573864 360711 128.192.176.186 (16 [151948]) User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.4) Gecko/20011128 Netscape6/6.2.1 X-Accept-Language: en-us