Pregunta

Según SICP sección 1.2 0.6 , el ejercicio 1.22:

  implementaciones

Más Lisp incluyen un llamado tiempo de ejecución primitivo que devuelve un entero que especifica la cantidad de tiempo que el sistema ha estado funcionando (medida, por ejemplo, en microsegundos).

Estoy usando DrScheme , donde no parece tiempo de ejecución que esté disponible, por lo estoy buscando un buen sustituto. He encontrado en el PLT-Esquema de Referencia que hay un actuales-milisegundos primitivo. ¿Alguien sabe si hay un temporizador en el Esquema con una mejor resolución?

¿Fue útil?

Solución

current-milliseconds es una función que devuelve el número de milisegundos desde el actual sistema, pero podría disminuir. current-inexact-milliseconds es similar, pero vuelve un garantizada a aumentar el número de coma flotante.

También hay un montón de funciones similares que se pueden encontrar en esa página, pero si todo lo que necesita es tiempo de una determinada función, a continuación, sólo tiene que utilizar ( time expr ) y se imprimirá el tiempo que tomó para evaluar la expresión.

Otra cosa que es relevante aquí es la perfilador , en caso de que necesite un poco más detallado análisis de su código.

Otros consejos

Yo también encontré con este problema hoy en día. Estoy usando DrRacket, ya que parece haber superado DrScheme. Aunque este es un hilo de edad, añado mis hallazgos para cualquier persona nueva que se tropieza a través de este hilo.

Con R5RS como idioma seleccionado, agregue las dos siguientes líneas antes del programa para que funcione

(#%require (only racket/base current-milliseconds))
(define (runtime) (current-milliseconds))
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top