diff options
| author | eunhhu <[email protected]> | 2026-09-26 17:39:03 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-26 17:39:03 +0100 |
| commit | 62f4c51920129216ea779118c341379b5e9f4d7c (patch) | |
| tree | 4ab29324b457d5afeb27bf72a0d503dd7844b561 /docs/design | |
| parent | 93aeb3b1e73d096bd22813955bdbe3b4c8ddaf80 (diff) | |
| download | pure-62f4c51920129216ea779118c341379b5e9f4d7c.tar.gz pure-62f4c51920129216ea779118c341379b5e9f4d7c.zip | |
Record the app service against axum and drogon (077)
The scoreboard, 22 lines of aup served by its views and inputs, against
the same service written by hand in axum and drogon on the Pi: durable
posts about 76 times as many, reads level with drogon and ahead of axum
with the least CPU and memory. The note keeps what the profile showed on
the way (the kernel's share of a single thread, integers through printf,
an owner that saved too early) and what comes next. run.py gains
pure-serve-2 and waits for a server that prints its port before it
listens.
Diffstat (limited to 'docs/design')
| -rw-r--r-- | docs/design/008-module-format.md | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/docs/design/008-module-format.md b/docs/design/008-module-format.md index 95da88e..6948073 100644 --- a/docs/design/008-module-format.md +++ b/docs/design/008-module-format.md @@ -291,7 +291,9 @@ text·리스트가 남을 때만 위치를 유지한다. 상태 코드·ETag·오류·본문이 같고, 동시 편집이 커밋을 나누어 쓰며, `kill -9` 뒤에도 확인 응답한 편집이 모두 남는다. 앱 라우트는 키 있는 리스트 앱에 무작위 POST(쿼리 필드와 본문을 가진 메시지, text, 키)와 GET(수, text, 표의 쪽)을 800번 보내 상태 코드·오류·본문·JSON 행이 파이썬 모델과 같고, 멈췄다 다시 띄워도, 여섯 클라이언트가 보내는 중에 -`kill -9`로 죽여도 확인 응답한 이벤트(약 4,200개)가 모두 남는다. +`kill -9`로 죽여도 확인 응답한 이벤트(약 4,200개)가 모두 남는다. 한 스레드와 소유자 모드 모두 확인한다. 같은 서비스를 +axum·drogon으로 손수 쓴 것과의 비교는 [연구 077](../research/077-apps-as-http-services.md): 내구성 있는 쓰기 약 76배, +읽기는 drogon과 같고 axum보다 빠르며(20행 JSON 145k/s 대 95k/s), CPU와 메모리가 가장 적다. 아직 모듈 앱을 런타임 코어의 효과 단위로 세분하지는 않았다(`runtime.c`의 `definition`은 앱 전체다). 호스트가 직접 호출한다. |
