camp.itda.worklang — 언어·프레임워크 비교 데모

같은 ONNX 모델, 여섯 서버

ml-serving-bench 의 서버들을 그대로 띄웠습니다. 같은 입력(피처 20개 × N행)을 여섯 상자에 보내고 브라우저에서 왕복 시간을 잽니다. 추론 자체(ONNX Runtime)는 모두 같고, 차이는 HTTP·검증·직렬화 같은 서빙 계층에서 납니다. 여기 숫자는 관찰용입니다 — 공용 VM, 프록시 포함, 인터넷 왕복이 섞여 있어 벤치 수치가 아닙니다.

반복이 여럿이면 상자를 번갈아 호출하고(ABCDEF ABCDEF …) 중앙값·p95 를 적습니다. 첫 호출은 TLS·연결 비용이 섞입니다.
상자언어 · 서버p50p95최대성공응답(첫 행)
f1Python · FastAPI / uvicorn–––––
d1Python · Django / gunicorn gthread–––––
g1Python · Django / Granian WSGI–––––
stPython · Starlette / uvicorn–––––
r1Rust · axum + ort–––––
n1Go · net/http + onnxruntime_go–––––

무엇을 보나

직접 호출

curl -s https://r1.camp.itda.work/predict/onnx-lr -H 'content-type: application/json' -d '{"rows":[[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0]]}'
# 응답 {"model":"onnx-lr","labels":[1],"scores":[0.51],"model_version":"…"}  · 각 상자: /static(고정 JSON) /info(스레드·ORT 버전)