Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/07/2008, 03:05
rhervad
 
Fecha de Ingreso: mayo-2008
Mensajes: 10
Antigüedad: 16 años
Puntos: 0
Velocidad en programa

Hola, estoy diseñando un programa que esta formado por multiples bucles en los que se hacen operaciones con arrays tridimensionales. Unas de las operaciones que se llevan a cabo dentro de los bucles es:

for ( i=1; i < ia; i++ ) {
for ( j=1; j < JE; j++ ) {
for ( k=1; k < KE; k++ ) {

curl_h = ( hz[i][j][k] - hz[i][j-1][k] - hy[i][j][k] + hy[i][j][k-1]);
}}}

Cambie el programa para utilizar arrays unidimensionales, pero acceder como si fueran matrices. El bucle anterior con el nuevo diseño seria:

for ( i=1; i < ia; i++ ) {
for ( j=1; j < JE; j++ ) {
for ( k=1; k < KE; k++ ) {

curl_h = hz.array[i+(j*hz.X)+(k*hz.X*hz.Y)] - hz.array[i+((j-1)*hz.X)+(k*hz.X*hz.Y)] - hy.array[i+(j*hy.X)+(k*hy.X*hy.Y)] + hy.array[i+(j*hy.X)+((k-1)*hy.X*hy.Y)];
}}}

Mi pregunta es si es normal que la velocidad de la ejecucion del programa llegue a multiplicarse entre 4 y 5 veces. Gracias.