/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Consulta sobre eficiencia de los algoritmos

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
Masakre



Registrado: 06 Jun 2012
Mensajes: 245

MensajePublicado: 07/06/2014 9:04 pm
Título: Consulta sobre eficiencia de los algoritmos

Si resuelvo 1 enunciado de 2 formas distintas y quiero saber cuál de los algoritmos es el más eficiente, ¿cómo podría saberlo?

Si comparo el tiempo de ejecución de ambos en un mismo ordenador podría determinarlo, ¿verdad?

En Code::Blocks aparece el tiempo de ejecución por defecto, pero incluye el tiempo en que tardo en ingresar los datos, y no quiero modificar los datos desde el código fuente.

En todo caso tendría que medir de alguna forma el tiempo, luego de que se ingresaron los datos y luego que se encontró la respuesta.

¿Estaría bien usar lo siguiente? Tal vez exista alguna herramienta para determinar ello.
Código:
clock_t t; // Antes de los siguientes.
t = clock(); // Luego del ingreso de datos.
t = clock() - t; // Luego de encontrar la respuesta.
Volver arriba
_Leo_



Registrado: 20 Oct 2005
Mensajes: 399
Ubicación: Buenos Aires, Argentina

MensajePublicado: 08/06/2014 7:19 am
Título:

La idea está bien, pero la función clock() no es la adecuada para lo que estás haciendo. En el manual de clock() dice que la función devuelve el tiempo de procesador usado por el programa. Ese no es el tiempo real transcurrido ya que el procesador es compartido con otros procesos, y ese tiempo no estaría contabilizado ahí.

Te recomiendo que uses clock_gettime() que retorna el tiempo real con precisión de nanosegundos. En este código para contar caracteres en UTF-8 usé esa función para medir el tiempo de ejecución de una porción del programa. Fijate de la línea 24 a 28 y en la 52.
_________________
_Leo_
Daphne - administrador de tareas
Cine, tecnología, sociedad
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com