Есть ли эквивалентное примитивному времени «время выполнения» Lisp?

StackOverflow https://stackoverflow.com/questions/2195105

  •  25-09-2019
  •  | 
  •  

Вопрос

Согласно с Раздел SiCP 1.2.6., Упражнение 1.22:

Большинство реализаций LISP включают примитивное значение Runtime, которое возвращает целое число, которое указывает количество времени, которое запускается система (измерена, например, в микросекунде).

я использую ДРСЧЕМЕ, где время выполнения, похоже, не доступен, поэтому я ищу хорошую замену. Я нашел в ссылке PLT-схемы, что есть Текущие миллисекунды примитивный. Кто-нибудь знает, если есть таймер в схеме с лучшим разрешением?

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

Решение

current-milliseconds Это функция, которая возвращает текущее количество миллисекунд от системы, но может снизиться. current-inexact-milliseconds Похоже, но возвращает гарантированный номер плавающей запятой.

Существует также куча подобных функций, которые вы можете найти на этой странице, но если все, что вам нужно, это время для определенной функции, то просто используйте (time экспл) И он будет распечатан время, чтобы оценить выражение.

Еще одна вещь, которая актуальна здесь, это профилирование, В случае необходимости вам нужна более многословный анализ вашего кода.

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

Я тоже наканулся с этой проблемой сегодня. Я использую DRRANCET, так как кажется, что он заменяет дрессхема. Хотя это старая нить, я добавляю свои выводы для любого нового, который сталкивается через эту тему.

С R5RS в качестве выбранного языка добавьте следующие две строки перед программой, чтобы она работала

(#%require (only racket/base current-milliseconds))
(define (runtime) (current-milliseconds))
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top