Эта страница описывает v1.13. Проверьте, является ли она текущим руководством: /version.json
Когда это нужно
Этот контракт нужен для сравнения, повтора или аудита запуска. Одного «того же входа» недостаточно, пока не названы байты исходника, идентификатор исполнителя, ресурсный профиль и наблюдаемые каналы.
Разбор примера
Детерминированный запуск не обещает завершить любую программу. У текущих маршрутов есть пределы входа, выхода, переходов и управления, но они не учитывают каждый обход, операцию над большими числами, выделение, rendering и диагностику. Поэтому враждебный бесконечный цикл или программа с интенсивными выделениями может выйти за семантический охват текущего профиля. Время по часам — эксплуатационное наблюдение, а не семантическое значение программы.
Как рассуждать
- Наблюдаемые оси: байты stdout, байты диагностики, статус выхода, порядок предупреждений, отчёт ресурсов, проекция значения и при необходимости идентичность артефакта/происхождения.
- Native и WASM могут иметь разные пределы и при этом чисто сообщать профильные ресурсные результаты.
- Повтор закрепляет исходник, идентификатор исполнителя, пределы и проекцию наблюдений до сравнения байтов.
Быстрый выбор
| Что закрепить до сравнения | Зачем | Пример наблюдения |
|---|---|---|
| байты исходника и входа | нормализация текста меняет идентичность | байты значения или диагностики |
| исполнитель и профиль | явно задаются пределы и поддержка | статус выхода и ресурсный отчёт |
| проекция наблюдений | детали среды вне наблюдения не входят в утверждение | stdout и порядок предупреждений |
| корпус и базовая линия | результат не должен выбирать набор проверки | совпадение, расхождение, несравнимость |
| идентичность артефакта при необходимости | свидетельство называет проверенный объект | квитанция или хэш движка |
Частая ошибка
Один лишь тайм-аут по настенным часам не является семантическим отчётом ресурсов.
Текущие границы
- Совпадение в ограниченной кампании не является эквивалентностью всего языка или доказательством отсутствия расхождений.
- Текущие tree и VM предполагают доверенный исходник правила. Это не sandbox для враждебного исходника; детерминированных счётчиков всей работы и всех логических выделений пока нет.
- Тайм-аут, завершение worker, OOM хоста, panic или trap — эксплуатационное прерывание либо отказ движка. Они не дают решения или переносимой квитанции.
Куда дальше
Справочник сред выполнения показывает исполнителей с происхождением, а проверяемые поверхности — точный охват поддерживаемых сравнений.