Песочница

Сравнение результатов движков

Выберите отчёт сравнения, прочитайте результаты и расход ресурсов и отличите покрытие возможностей от выполненных примеров.

Выберите подходящий отчёт сравнения и выясните, какие результаты совпали. Реализация среды выполнения — это программа, которая выполняет исходник Лиспекса или скомпилированные инструкции.

Прочитайте сравнение движков Лиспекса

Сохраните полный пример из руководства по байткоду как rule.lspx. Он печатает refund с помощью display и newline. Выполните команду в Native CLI.

SH
lispex compare-engines --receipt tree-vm.json rule.lspx

Native сохраняет отчёт, печатает эту сводку и завершается с кодом 0.

JSON
{
  "all_agree": true,
  "receipt": "tree-vm.json",
  "schema": "lispex.compare-engines-summary/v1",
  "semantic_mismatch_axes": []
}

Оба движка записали refund\n в stdout и успешно завершились. Поле all_agree относится к проверенным семантическим результатам этого исходника. Откройте tree-vm.json, чтобы прочитать отдельные результаты и идентификаторы. Выберите новый путь отчёта. Если файл уже существует, команда оставит его без изменений и вернёт код 3.

Выберите формат записи

Формат записиЧто сравнивается или записываетсяС чего начать
lispex.rust-engine-comparison/v1интерпретатор Лиспекса и ВМ Лиспекса с одним полученным Core IR и файлом байткодаcompare-engines в руководстве по байткоду
csk.meaning-differential-report/v1Поведение интерпретатора Лиспекса и Среды смысла v1 для выбранного исходникаmeaning-diff в справочнике CLI
csk.differential-receipt/v0Записанные примеры из исторического корпуса Rust, LIL и LITКвитанции Ваучера
sicp-observation/v1Завершение одного запуска SICP, значение, stdout, диагностика, предупреждения и идентификатор артефактаРуководство по SICP

Корпус — именованный набор программ для сравнения. Наблюдение SICP описывает один запуск. Трасса lispex-trace/v1 записывает шаги выполнения. Читайте поля согласно формату записи.

Разделяйте семантические результаты и расход ресурсов

Сначала проверьте завершение, затем прочитайте обнаруженные различия. Учитывайте указанные в отчёте исходник, вход, идентификаторы исполнителей, профили и каналы вывода.

Читайте семантические различия отдельно от различий в расходе ресурсов. ВМ Лиспекса использует модель стоимости байткода, а интерпретатор Лиспекса использует собственную модель глубины. Сопоставимые наблюдения ресурсов для каждого сравнения перечислены в Реализациях среды выполнения.

Найдите реализацию

РеализацияСпособ выполненияЗаписанная информация
интерпретатор ЛиспексаИнтерпретатор Лиспекса в Native и WASMРезультаты поддержки 205 из 205 отслеживаемых строк базовых операций
ВМ ЛиспексаВыполняет проверенный байткод, полученный из Core IRИсходник, Core IR, байткод, результат, диагностика и ресурсы
SICPЯвный профиль в Native и WASM @lispex/sicpsicp-observation/v1 и lispex-trace/v1

Строка базовой операции обозначает одну операцию в реестре возможностей. Результат поддержки показывает, предоставляет ли реализация эту операцию. Числа выше относятся к строкам реестра. Число примеров корпуса обозначает количество выполненных программ. Сравнение движков записывает результаты для точно указанных файлов и исполнителей.

LIL и LIT выполнили свою задачу внутренней перекрёстной проверки. В Лиспексе 1.21 они выведены из эксплуатации, чтобы снизить дальнейшие затраты на сопровождение. Числа LIL 205/205 и начальной LIT 84/205 относятся к историческим таблицам процедур. Читайте их вместе с объяснением завершения поддержки и записями версий.

Отдельные операции перечислены в каталоге текущих возможностей. Различия продуктов и реализаций описаны в реализациях среды выполнения.