Skip to content

Reading Input Files

kimjooyoon edited this page Oct 4, 2026 · 6 revisions

소스·레시피·모델 파일을 읽는 구간

최근 설치 기준은 main 4f6c7566·SDK v0.2.21입니다. 개발 #1206·main #1207의 각 자체 CI·독립 소스 증거와 현재 브랜치를 확인한 뒤 정상 병합하고 두 실행기를 같은 소스로 설치했습니다. 새 공동 모델 교체 128회는 해제·시간 초과 0회이며, 정상 35회에서 4,480/4,480과 이전 Go를 유지했습니다. 별도 일반 실행 1,024/1,024·동시 실행 512/512·실제 허깅페이스 다운로드 예제 6/6도 유지했습니다. 파일 두 개만 받는 방법 · 새 설치·이전 실패·현재 원본.

새 동시 실행기의 모델 구간은 전체 1.796초·CPU 1.306초, 한 코어 기준 평균 72.69%입니다. 결정론 구간은 전체 1.273초·CPU 1.311초, 평균 103.00%입니다. 준비·생성·현재 실행·EOF 종료와 자식 프로세스를 포함하며 병렬로 여러 코어를 사용할 수 있습니다. 호스트 전체 사용률과 모델 단독 RAM은 미관측입니다. 아래 d1bfd273·SDK20과 초기 후보의 관측은 각 소스 시점의 기록입니다.

2026-10-04 KST. 개발 #1202의 소스 0eb69e5f의 자체 CI와 독립 증거 확인을 통과해 개발 a11a3f08에 병합했습니다. 배포 #1203도 같은 트리의 22c2c914를 자체 검사하고 독립 증거·현재 브랜치를 확인한 뒤 정상 병합했습니다. CLI와 바디 실행기를 main d1bfd273·Go1.27.1·SDK v0.2.20으로 함께 설치했습니다. 초기 후보 1a47cb16의 성공한 CI와 관측 기록은 별도로 보존합니다.

새 설치본의 실제 경로 교체 64회는 해제·시간 초과 0회였습니다. 일반 파일 완료 33회는 4,224/4,224와 이전 Go를 유지했고 31회는 생성 전 파일 오류로 종료했습니다. order-judge 모델 정보·가중치 FIFO도 각각 6.26/5.51ms 전체 CLI 시간에 해제 없이 오류로 종료했습니다. 별도 모델·결정론 1,024/1,024와 실행기 동시 요청 512/512도 유지했습니다. 두 실행기의 소스·해시·CI 근거를 설치 기록에 함께 남겼습니다.

body-path-run은 소스·레시피·기대값·선택적인 옵션 파일을 먼저 읽고 모델을 준비합니다. 이후 바디를 조립하고 실제로 실행합니다. 이 시작 구간에서 읽을 파일이 FIFO처럼 쓰기 쪽의 연결을 기다리는 특수 파일이면 대기가 생길 수 있습니다.

배포한 수정과 기존 관측

원래 구현은 경로의 종류를 확인한 뒤 파일을 열었습니다. 두 호출 사이에 경로가 FIFO를 가리키도록 바뀌면 파일 열기에서 기다렸습니다. 깨끗한 설치본의 실제 14회 경로 교체 중 한 요청은 컨트롤러가 500ms 뒤 유일한 쓰기 쪽을 열자 종료했습니다. 이 숫자는 의도적으로 해제한 시점입니다. 당시 모델 준비·결과 폴더 생성은 시작되지 않았습니다.

수정 당시 후보 0eb69e5f는 Unix에서 비차단으로 연 다음 열린 파일 자체를 검사합니다. 64회 실제 교체 중 쓰기 쪽 해제·시간 초과는 0회였습니다. 일반 파일을 읽은 25회는 생성 Go와 3,200/3,200 기대값을 유지했습니다. 나머지 39회는 읽기 구간의 파일 오류로 종료했습니다. 파일 상태별 처리 결과를 기록하며 모델 판단 횟수는 0회입니다.

모델 정보 JSON과 order-judge 가중치도 원래 설치에서 같은 대기를 재현했습니다. 이 후보는 두 구간에 같은 열기 방식을 적용해 쓰기 상대 없이 파일 오류로 종료했습니다. 모델 정보 오류 첫 응답의 총 528.79ms도 보존하며 이를 처리 속도 개선율로 환산하지 않습니다.

실행할 때의 기준

입력 상한·내용
--source 128KiB, 비어 있지 않은 UTF-8 일반 파일
--path-plan 256KiB, 전체 계획 또는 짧은 레시피 JSON
--cases 32KiB, 별도 실행 기대값 JSON·1~128개
--options 64KiB, 선택적인 옵션 JSON
--model의 정보 JSON 64KiB 이내의 구조 모델 정보
order-judge weights.bin 정확히 16,384바이트, 기존 형식·해시 검증

소스·레시피·기대값·옵션에서는 일반 파일을 가리키는 심볼릭 링크를 사용할 수 있습니다. 파일 없음·권한 실패의 원래 파일시스템 원인도 전달합니다. Unix의 비차단 열기는 입력 종류 검사에 적용하며 Windows는 기존 열기 전 확인과 열린 파일 검사를 유지합니다. Windows arm64의 이번 증거는 교차 컴파일입니다.

공동 모델 등 SDK 프로필은 모델 정보·가중치의 심볼릭 링크를 거부하는 기존 규칙을 유지합니다. 아래 SDK 수정은 이 규칙과 형식·해시 검증을 유지하면서 읽기 시작을 바꿉니다.

공동 모델의 후속 읽기

설치본 d1bfd273·SDK v0.2.20에서 초기 모델 정보를 읽은 뒤 공동 모델 로더가 다시 여는 구간의 대기를 추가로 확인했습니다. 실험이 소유한 일반 파일과 FIFO를 하드링크로 교체했습니다. 정보 파일 40번째 요청은 유일한 쓰기 쪽을 500ms 뒤 열자 파일 변경 오류로 종료했습니다. 전체 505.24ms에는 의도한 대기가 포함됩니다. 결과 폴더 생성 전 종료 1이었고 자식·교체 작업 모두 종료를 확인했습니다. 가중치 쪽 64회에서는 같은 대기가 재현되지 않았습니다.

전체 104회 가운데 정상 36회는 공동 모델 판단 36회·실제 실행 72회에서 4,608/4,608을 유지했습니다. 별도 정상 요청은 판단 1회·실행 2회·128/128이었습니다. 기존 과제를 반복한 관측이며 새 학습은 0회입니다.

SDK v0.2.21은 단일·공동·공유 세 선택 모델의 읽기를 하나로 모았습니다. Unix 비차단·링크 미추적 열기 후 열린 파일의 종류·동일성·크기를 확인합니다. 교체 대기 회귀 테스트와 SDK의 기존 산술·후보 재현 CI를 통과해 병합·공개했습니다. 18,432개 고정 입력의 산술 기록을 다시 비교했으며 가중치는 그대로입니다. 컴파일러 채택과 새 설치 비교는 위의 main 4f6c7566에서 완료했습니다. 아래 d1bfd273 설치 관측은 v0.2.20에 해당합니다.

원본 관측·재계산 도구·소스와 SDK 결속.

읽기 구간에서 실패하면 원래 오류와 종료 1을 확인하고 입력 경로를 고친 뒤 새 결과 폴더로 실행합니다. 이때는 runtime 기대값 분모가 아직 성립하지 않을 수 있습니다. 생성된 뒤의 공구 조회 실패나 실제 출력 불일치는 관측 읽기를 봅니다.

별도 한영 모델·결정론 반복은 8회 생성·판단 4회·실행 16회에서 1,024/1,024와 이전 Go를 유지했습니다. 후보 모델 재사용 응답은 25.32·27.57ms였고 첫 응답도 보존합니다. 같은 기존 두 의도를 반복했으며 가중치·학습 갱신은 0회입니다. 이 응답 시간은 바디 생성과 실제 실행을 포함합니다. 모델 판단 단독 시간은 미관측입니다.

별도 실행기에서도 한영 요청을 동시에 두 개씩 보냈습니다. 모델 사용·결정론 4개 구성·판단 2회·실행 8회에서 512/512와 이전 Go를 유지했고 두 프로세스 모두 시간 초과 없이 종료했습니다. 이 확인은 배포 후보 22c2c914의 관측입니다.

설치된 실행기의 동시 모델 요청 두 개는 전체 1.008초에 CPU 0.468초, 결정론 두 개는 전체 0.584초에 CPU 0.462초였습니다. OS의 실행기·자식 프로세스 시간을 기록한 값입니다. 전체 시간에는 준비·생성·실행·EOF 종료가 포함됩니다. 모델 사용 요청의 정상 재사용 응답은 한영 25.21/27.78ms였고 첫 응답도 보존합니다. 호스트 전체 CPU 사용률과 모델 단독 RAM·추론 시간은 미관측입니다.

오류를 읽고 다음 실행 준비하기

보이는 상태 확인할 항목
파일 오류, 결과 폴더 없음 경로가 실제 일반 파일인지, 읽기 권한·크기·UTF-8 확인
모델 파일 오류 정보 JSON과 같은 폴더의 가중치·프로필·해시 확인
결과 폴더 있음, 공구 조회 오류 Go 실행 파일 경로와 준비 단계 확인
실제 실행 뒤 기대값 불일치 원본 입력·실제 출력·선택 경로를 보관한 결과에서 확인

기대값이 미관측이면 실행을 위한 준비부터 확인합니다. 실제로 관측한 0개 성공은 별도 상태로 표시됩니다. 분모와 모델 선택 점수를 함께 읽으면 완전성의 범위를 알 수 있습니다.

원본 대기·단위 실패·64회 교체·Go 수집기 · 직접 실행 · 현재 상태.

Gooo

배우기

직접 다뤄 보기

원리와 개발

공개 코드와 모델

Clone this wiki locally