Песочница

Детерминизм и профили ресурсов

Детерминизм охватывает объявленные наблюдения; текущий продукт ещё не ограничивает всю гостевую работу и логические выделения.

Эта страница описывает v1.13. Проверьте, является ли она текущим руководством: /version.json

Когда это нужно

Этот контракт нужен для сравнения, повтора или аудита запуска. Одного «того же входа» недостаточно, пока не названы байты исходника, идентификатор исполнителя, ресурсный профиль и наблюдаемые каналы.

Разбор примера

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

Как рассуждать

  • Наблюдаемые оси: байты stdout, байты диагностики, статус выхода, порядок предупреждений, отчёт ресурсов, проекция значения и при необходимости идентичность артефакта/происхождения.
  • Native и WASM могут иметь разные пределы и при этом чисто сообщать профильные ресурсные результаты.
  • Повтор закрепляет исходник, идентификатор исполнителя, пределы и проекцию наблюдений до сравнения байтов.

Быстрый выбор

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

Частая ошибка

Один лишь тайм-аут по настенным часам не является семантическим отчётом ресурсов.

Текущие границы

  • Совпадение в ограниченной кампании не является эквивалентностью всего языка или доказательством отсутствия расхождений.
  • Текущие tree и VM предполагают доверенный исходник правила. Это не sandbox для враждебного исходника; детерминированных счётчиков всей работы и всех логических выделений пока нет.
  • Тайм-аут, завершение worker, OOM хоста, panic или trap — эксплуатационное прерывание либо отказ движка. Они не дают решения или переносимой квитанции.

Куда дальше

Справочник сред выполнения показывает исполнителей с происхождением, а проверяемые поверхности — точный охват поддерживаемых сравнений.

Среды выполнения · Проверяемые поверхности