Re: Benchmarking en distintos lenguajes [ Era algo así como cliente en jabber... ]

Xavier Andrade andrade en theory.polytechnique.fr
Vie Nov 16 15:05:56 CLST 2007


On Fri, 16 Nov 2007, Franco Catrin L. wrote:
>
> El problema esta cuando el nivel de abstracción te oculta lo que esta 
> sucediendo por debajo, y se hacen cosas demás en forma involuntaria. 
> Recuerdo que Federico Mena comentaba que muchos problemas de performance se 
> habian resuelto simplemente aplicando strace para ver qué estaba sucediendo 
> por debajo y ahi encontraron que en aplicaciones como OpenOffice (y tambien 
> en GNOME) se abrian y procesaban archivos inmutables una y otra vez, en vez 
> de una sola vez al principio.  Es facil tener ese problema, cuando las 
> aplicaciones crecen y tienes una gran base de código te comienzas (al fin) a 
> enfocar mas en el qué y no en el cómo, pero si te descuidas comienzas a mal 
> usar lo que ya tienes.
>

Bueno, por ejemplo si se llama repetidamente a rutinas chicas que hacen
poco, el rendimiento se reduce en al menos un orden de magnitud en
comparacion al mismo codigo "inlined".

Es decir:

for(i=0; i<N; i++) a[i] = b[i] + c[i];

es muchisimo mas rapido que

for(i=0; i<N; i++) a[i] = sum(b[i], c[i]);

con double sum(double a, double b){ return a + b;}. Y al final muchos
codigos OO terminan haciendo cosas por el estilo (probablemente no para este
ejemplo, claro).

Saludos,

Xavier


Más información sobre la lista de distribución Linux