Question

Selon section 1.2 SICP 0,6 , l'exercice 1,22:

  

La plupart des implémentations Lisp comprennent un moteur d'exécution appelé primitive qui retourne un entier qui spécifie la durée pendant laquelle le système a été en cours d'exécution (mesurée, par exemple, en microsecondes).

J'utilise DrScheme , où l'exécution ne semble pas être disponibles, Je suis à la recherche d'un bon substitut. J'ai trouvé dans le PLT-Schéma de référence qu'il ya un actuelles millisecondes primitive. Est-ce que quelqu'un sait s'il y a une minuterie dans le schéma avec une meilleure résolution?

Était-ce utile?

La solution

current-milliseconds est une fonction qui renvoie le nombre actuel de milliseconde du système, mais il pourrait diminuer. current-inexact-milliseconds est similaire, mais renvoie un nombre à virgule flottante garantie à augmenter.

Il y a aussi un tas de fonctions similaires que vous pouvez trouver sur cette page, mais si tout ce que vous avez besoin est de temps une certaine fonction, il suffit d'utiliser ( time expr ) et il affichera le temps qu'il a fallu pour évaluer l'expression.

Une autre chose qui est pertinent ici est le profileur , dans le cas où vous avez besoin d'un peu plus bavard analyse de votre code.

Autres conseils

Moi aussi je suis tombé sur ce problème aujourd'hui. J'utilise DrRacket, comme il semble avoir remplacé DrScheme. Bien que ce soit un vieux fil, je suis d'ajouter mes résultats pour toute personne nouvelle qui tombe par hasard sur ce fil.

Avec r5rs comme langue sélectionnée, ajoutez les deux lignes suivantes avant le programme pour le faire fonctionner

(#%require (only racket/base current-milliseconds))
(define (runtime) (current-milliseconds))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top