결정성과 자원 프로필

결정성은 선언한 관측 항목을 다룹니다. 현재 제품은 게스트의 모든 작업과 논리적 할당을 아직 제한하지 못합니다.

언제 필요한가요?

실행을 비교하거나 재생하거나 감사해야 할 때 이 계약을 사용하세요. 소스 바이트와 실행기 동일성, 자원 프로필, 관측 채널을 모두 명시하기 전까지는 “같은 입력”이라는 표현만으로는 부족합니다. 자원 프로필은 실행 한 번이 지켜야 할 한도와 보고 항목에 이름을 붙여 둔 묶음입니다.

예제 읽기

결정적 실행이 모든 프로그램이 끝난다는 약속은 아닙니다. 현재 리스펙스를 실행하는 방식마다 입력, 출력, 전이, 제어 한도가 정의되어 있습니다. 다만 그 한도가 모든 순회, 정확한 수 연산, 할당, 렌더링, 진단을 일일이 세지는 않습니다. 따라서 적대적인 무한 반복이나 할당이 많은 규칙은 현재 프로필이 다루는 의미 범위를 벗어날 수 있습니다. 벽시계 시간은 운영상의 관측일 뿐 게스트의 의미 값이 아닙니다.

이 순서로 생각하세요

  • 관측 채널은 표준 출력 바이트, 진단 바이트, 종료 상태, 경고 순서, 자원 보고, 결과 값을 기록한 형태이며, 해당하는 경우 아티팩트나 출처 동일성까지 포함합니다.
  • 네이티브와 WebAssembly는 고정해 둔 한도가 서로 다를 수 있습니다. 그러면서도 프로필별 자원 결과는 명확하게 보고할 수 있습니다.
  • 재생은 바이트를 비교하기 전에 소스와 실행기 동일성, 한도, 그리고 어떤 관측을 셀지를 먼저 고정합니다.

빠르게 고르기

비교 전에 고정할 항목중요한 이유관측 예시
소스와 입력 바이트텍스트 정규화도 동일성을 변경함값 또는 진단 바이트
실행기와 프로필한도와 다루는 언어 범위에 이름을 지정함종료 상태와 자원 보고
어떤 관측을 셀지관측하지 않은 호스트 상세는 주장 범위를 벗어남표준 출력과 경고 순서
코퍼스와 기준선결과가 시험 집합을 선택하면 안 됨일치, 불일치, 비교 불가
필요한 아티팩트 동일성증거가 무엇을 검사했는지 밝혀야 함영수증 또는 엔진 바이트의 짧은 지문

흔한 오해

벽시계 시간 초과 하나만으로는 의미론적 자원 보고가 되지 않습니다.

현재 경계

  • 정해진 비교 묶음에서 결과가 일치했다고 해서 전체 언어가 동등하다거나 불일치가 없다는 증명이 되지는 않습니다.
  • 소스를 그대로 읽어 실행하는 내장 인터프리터도, 미리 만들어 둔 명령을 실행하는 가상 머신도 규칙 소스를 신뢰한다는 전제 위에 있습니다. 둘 다 적대적인 소스를 가두어 두도록 만들어지지 않았고, 전체 작업량이나 전체 논리적 할당량을 결정적으로 세는 계수기도 없습니다.
  • 시간 초과, 작업자 프로세스 강제 종료, 호스트 메모리 고갈, 패닉, 트랩은 운영 중단이거나 엔진 결함입니다. 결정도, 남에게 건넬 수 있는 영수증도 만들지 않습니다.

다음으로

실행기마다 어디에서 왔는지는 런타임 백엔드에서 설명합니다. 유지되는 비교가 정확히 어디까지 미치는지는 검사된 표면에서 확인하세요.

런타임 백엔드 · 검사된 표면