Frage

Nach SICP Abschnitt 1.2 0,6 , Übung 1.22:

  

Der Lisp-Implementierungen umfassen eine primitive genannte Laufzeit, dass gibt eine Ganzzahl, die angibt, die Zeit, das System in Betrieb war (gemessen zum Beispiel in Mikrosekunden).

Ich bin mit DrScheme , wo der Laufzeit nicht vorhanden zu sein scheint, so ich bin auf der Suche nach einem guten Ersatz. Ich fand in der PLT-Scheme Referenz, dass es ein Strom Millisekunden primitiv. Weiß jemand, ob es einen Timer in Schema ist mit besserer Auflösung?

War es hilfreich?

Lösung

current-milliseconds ist eine Funktion, liefert die aktuelle Millisekundenzählwert aus dem System, aber es könnte verringern. current-inexact-milliseconds ist ähnlich, aber liefert einen garantiert zu erhöhen Gleitkommazahl.

Es gibt auch eine Reihe von ähnlichen Funktionen, die Sie auf dieser Seite finden können, aber wenn alles, was Sie zu Zeit benötigen eine bestimmte Funktion, dann benutzen Sie einfach ( time ausdr ) und es wird die Zeit, die den Ausdruck auszuwerten auszudrucken.

Eine andere Sache, die hier relevant ist, ist die Profiler im Fall, dass Sie mehr einige ausführliche Analyse des Codes.

Andere Tipps

Ich kam auch über dieses Problem heute. Ich verwende DrRacket, wie es DrScheme zu haben ersetzte scheint. Obwohl dies ein alter Thread, ich meine Erkenntnisse für jeden neu hinzugefügt, die über diesen Thread stolpert.

Mit R5RS als gewählter Sprache, fügen Sie folgende zwei Zeilen vor dem Programm, damit es funktioniert

(#%require (only racket/base current-milliseconds))
(define (runtime) (current-milliseconds))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top