Título: Alguien que me ayude a hacer este codigo mas eficiente Publicado por: MellaSystems en 9 Marzo 2015, 01:06 am en un menu para listar, borrar, buscar un nombre en la clase vector:
Código
este es mi codigo quiero hacerlo mas eficiente, controlar los nombres en mayusculas y minusculas y todo eso porfa. Título: Re: Alguien que me ayude a hacer este codigo mas eficiente Publicado por: eferion en 9 Marzo 2015, 09:39 am ¿De verdad te preocupa la eficiencia de este código?
Título: Re: Alguien que me ayude a hacer este codigo mas eficiente Publicado por: MellaSystems en 10 Marzo 2015, 03:08 am Siii y mucho efeiron
Enviado desde mi iPhone utilizando Tapatalk Título: Re: Alguien que me ayude a hacer este codigo mas eficiente Publicado por: eferion en 10 Marzo 2015, 09:10 am Pero vamos a ver... ¿cuánto puede tardar en ejecutarse este código? ¿Media milésima de segundo? ¿una milésima?
Vamos, a no ser que estés cargando una base de datos con 200.000.000.000 registros no creo que consigas notar diferencia alguna entre tu código y uno totalmente optimizado. Pero tu mismo: Los objetos pesados se pasan por referencia, no por valor. Código
En esa línea estás creando un string temporal que, posteriormente, se usará para asignar el valor de "nomv". En tu código no vas a notar ningúna diferencia, pero es bastante más óptimo pasar los strings por referencia para evitar la creación de objetos temporales: Código
No uses system Las llamadas a "system" son muy lentas. Es mucho más eficiente programarte tu propia rutina que espere una pulsación del teclado. Evita la copia innecesaria de objetos Código
Ahí estás haciendo una copia de vEstudiante. Después de esa línea "runEstudiante" y "vEstudiante" son dos objetos independientes... estas copias consumen tiempo de ejecución y memoria. Puedes evitar la copia usando referencias o haciendo uso de iteradores: Código
Código
fflush es solo para buffer de salida Código
Esa línea tienes que evitarla a toda costa. fflush, de acuerdo con el estándar, está pensado para vaciar un buffer de salida, no un buffer de entrada. Dependiendo del sistema operativo esta línea te puede dar problemas. Y con esto ya tienes algo con lo que empezar. Aunque no esperes notar demasiada diferencia... si tu programa hiciese cálculos matemáticos intensivos todavía... pero manejar un vector de 20 o 30 objetos... |