Вопрос

В настоящее время я пытаюсь сделать упражнение 1.22, что нуждается в функции, называемой Runtime, которая возвращает количество миллисекундов, использует систему. Однако моя среда (R5RS), похоже, не имеет этого. У него нет времени, текущих миллисекундов, токосветно-миллисекунды и т. Д.

Какую функцию у меня есть доступ, чтобы профилировать мою функцию? Какие функции возвращают количество миллисекундов, микросекунд и т. Д., которые прошли? Я бы, конечно, предпочитаю максимальный прецизионный таймер.

Это было полезно?

Решение

Вероятно, лучшее, что нужно сделать, это переключить язык в Drracket, чтобы «использовать язык, объявленный в источнике», и начните свой файл с #lang racket. Отказ Затем функции нравятся current-seconds И друзья будут доступны.

В качестве альтернативы вы можете использовать библиотеку профилирования, доступную через (require profile) и документировано здесь.

Наконец, вы можете посмотреть на Neil Van Dyke's Библиотека SICP для Drracket.

Другие советы

я использовал Текущие неточные миллисекуды Когда я сделал это упражнение. Осторожно, спойлеры: Вы можете увидеть мое решение в моем блоге в SICP Упражнение 1.22: Timed Prime Test.

Кстати, я только решил эту проблему после подобного вопроса, Есть ли эквивалентное примитивному времени «время выполнения» Lisp?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top