Согласно разделу SICP 1.2.6, упражнению 1.22:
Большинство реализаций Lisp включает примитивное названное время выполнения, которое возвращает целое число, которое указывает количество времени, которое система выполняла (измеряемый, например, в микросекундах).
Я использую DrScheme, где время выполнения, кажется, не доступно, таким образом, я ищу хорошую замену. Я нашел в Ссылке PLT-схемы, что существует примитивные текущие миллисекунды. Кто-либо знает, существует ли таймер в Схеме с лучшим разрешением?
current-milliseconds
- это функция, которая возвращает текущий счетчик миллисекунд из системы, но он может уменьшиться. current-excact-milliseconds
аналогичен, но возвращает гарантированно увеличивающееся число с плавающей запятой.
На этой странице также есть множество аналогичных функций, но если все, что вам нужно, это установить время для определенной функции, просто используйте ( time
expr ), и она будет распечатать время, затраченное на оценку выражения.
Еще одна важная вещь - профилировщик , на случай, если вам понадобится более подробный анализ вашего кода.