Dudas sobre la parte 6
Re: 6. Ejecute el test hash5-tiempo
Re: 6. Ejecute el test hash5-tiempo
En principal.cpp:1766
está la función main_testTiempoHashVisitaDia()
. Allí se puede ver que las funciones de esta tarea que se prueban son crearTVisitaDia
y agregarVisitaDiaTHashVisitaDia
. Los órdenes de esas funciones están en el .h
.
Re: 6. Ejecute el test hash5-tiempo
Re: 6. Ejecute el test hash5-tiempo
En este caso el orden n es con respecto a la cantidad de visitaDia que hay en el hash. Al escribirlo de esa manera se está diciendo implícitamente que las operaciones interiores se toman como si tuvieran un orden constante, o sea que no afectarían el orden.
Saludos!
Néstor
Re: 6. Ejecute el test hash5-tiempo
Re: 6. Ejecute el test hash5-tiempo
Probá agregar un printf al principal, que te diga cuanto tiempo está demorando el test en un caso y otro. Capaz que estás muy justo y por eso a veces falla y a veces no.
Re: 6. Ejecute el test hash5-tiempo
Re: 6. Ejecute el test hash5-tiempo
Tengo la sospecha de que tal vez el liberarTVisitaDia podria estar complicandome ya que lo uso en el liberar del hash, pero en ese caso deberia de darme mal el test de tiempo del modulo de cola de prioridad no?
Re: 6. Ejecute el test hash5-tiempo
Re: 6. Ejecute el test hash5-tiempo
¿Cuánto vale la variable tiempo
que se comprara con timeoutAgregar
? Para pasar el test se requiere que termine en menos de 1 segundo. Como referencia, en mi caso anda en el orden de los 0,4 segundos.
Re: 6. Ejecute el test hash5-tiempo
Re: 6. Ejecute el test hash5-tiempo
La última función de principal.cpp
se llama main_testTiempoHashVisitaDia
y su único cometido es probar los tiempos. Si agregás un printf("\nTIEMPO = %f\n", tiempo);
en la línea 1786, justo antes del assert
, podés saber en cuanto andás.
Re: 6. Ejecute el test hash5-tiempo
---
> principal: principal.cpp:1786: void main_testTiempoHashVisitaDia(): Assertion `tiempo < timeoutAgregar' failed.
> timeout: la orden monitorizada ha volcado un 'core'
Me tira este error, capaz hay otro error que no estoy viendo porque aunque ponga el printf no me muestra cuanto demora exactamente
Re: 6. Ejecute el test hash5-tiempo
Hola Nicolás,
Sí, al ejecutar con make incluye el valgrind, lo cual aumenta considerablemente el tiempo de ejecución. Además, si ejecutás en una máquina virtual, eso también va a volver la ejecución muy lenta. Si te anda bien en las máquinas de facultad podés quedarte tranquilo. Los tiempos utilizados como límite en el test están medio justos.
Saludos,
Federico
Saludos.
creo que se genero un problema en el test de tiempo en la ultima version, en versiones anteriores el test devolvia la respuesta esperada con mi codigo mientras que ahora no logra pasar el timeout, solo crear un nodo y agregarlo a un arreglo (operaciones que segun entiendo deberian sr de orden 1) toma suficiente tiempo como para no pasar el timeout agregar.
esta prueba es en una de las pc de la facultad.
Cuando hicimos las correcciones vimos algunos comportamientos raros en alguna ejecución que tuvimos que rehacer. Capaz que vos estás en esos casos, antes de mirar te diría que te fijes qué corrección tenés, en caso de que tengas bien asumí que es eso y no te preocupes.
Saludos!
Manuel