Domanda

Secondo SICP punto 1.2.6, esercizio 1.22:

La maggior parte Lisp implementazioni includono un primitivo chiamato runtime che restituisce un numero intero che specifica la quantità di tempo che il sistema è stato in esecuzione (misurata, per esempio, in microsecondi).

Sto utilizzando DrScheme, dove runtime non sembra essere disponibile, e quindi sto cercando un buon sostituto.Ho trovato in PAL-Schema di Riferimento che c'è un corrente millisecondi primitivo.Qualcuno sa se c'è un timer in Regime di con una migliore risoluzione?

È stato utile?

Soluzione

current-milliseconds è una funzione che restituisce la corrente millisecondo contare dal sistema, ma potrebbe diminuire. current-inexact-milliseconds è simile, ma restituisce un garantito-per-aumentare il numero in virgola mobile.

Ci sono anche una serie di funzioni simili che si possono trovare sulla pagina, ma se ti serve solo per una certa funzione, quindi basta usare (time espr) e che sarà stampata il tempo impiegato per valutare l'espressione.

Un'altra cosa che qui interessa è l' profiler, in caso avete bisogno di un po più dettagliata analisi del codice.

Altri suggerimenti

Anch'io mi sono imbattuto in questo problema di oggi.Sto usando DrRacket, come pare abbiano sostituito DrScheme.Anche se questo è un vecchio thread, sto aggiungendo i miei risultati per chiunque sia nuovo che si imbatte in questo thread.

Con R5RS come lingua selezionata, aggiungere le seguenti due righe prima che il programma per farlo funzionare

(#%require (only racket/base current-milliseconds))
(define (runtime) (current-milliseconds))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top