Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/02/2008, 08:25
drbit
 
Fecha de Ingreso: mayo-2006
Mensajes: 120
Antigüedad: 18 años, 8 meses
Puntos: 3
Re: Por referencia es mas rápido?

Bueno, pero por qué en vez de creer lo que te dicen no lo pruebas tu mismo y se lo muestras a tu profesor:

Código:
// Pasamos por valor
#include <stdio.h>
typedef struct {
  double a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,x,y,z,
    a1,b1,c1,d1,e1,f1,g1,h1,i1,j1,k1,l1,m1,n1,o1,
    p1,q1,r1,s1,t1,x1,y1,z1;
} s;

double fun(s e) {
  return 0;
}


int main() { 

  s e;
  long int i;
  for (i = 0 ; i < 1000000 ; i++ )
    fun(e);
  return 0;
}
Compilamos
Código:
gcc test.c -o sin_referencia.out
Medimos la ejecución
Código:
time ./sin_referencia.out
real    0m1.777s
user    0m1.772s
sys     0m0.004s

Ahora por refencia
Código:
#include <stdio.h>
typedef struct {
  double a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,x,y,z,
    a1,b1,c1,d1,e1,f1,g1,h1,i1,j1,k1,l1,m1,n1,o1,
    p1,q1,r1,s1,t1,x1,y1,z1;
} s;

double fun(s *e) {
  return 0;
}


int main() { 

  s e;
  long int i;
  for (i = 0 ; i < 1000000 ; i++ )
    fun(&e);
  return 0;
}
Compilamos
Código:
gcc test.c -o con_referencia.out
Y medimos!!!
Código:
time ./con_referencia.out
real    0m0.007s
user    0m0.008s
sys     0m0.000s
¿GANADOR?
__________________
programación php