← všechny projektyvýzkum

Example API

Jedno CRUD + JWT API, deset implementací napříč .NET, Pythonem a TypeScriptem — za jediným OpenAPI kontraktem, poctivě benchmarkováno.

.NETC#PythonTypeScriptOpenAPIk6Docker

Architektura

Jeden OpenAPI kontrakt→10 implementací→Black-box konformance→k6 zátěžový harness→Dashboard výsledků

Interaktivní benchmark

Propustnost na 4 CPU jádrech — .NET škáluje, Node/Python stagnují (req/s). · medián 3 lokálních k6 běhů (docs/comparison.md v repu); 4-core hodnota FastAPI je jeho dokumentované single-worker plató.

Otázka

Hýbe architektura — Minimal / MVC / Clean / MediatR / Vertical-Slice — opravdu výkonem? A jak si na stejné zátěži skutečně stojí jednotlivé runtimy, za jakou cenu v ceremonii kódu?

Jak to začalovýzkum

Napsal jsem jeden OpenAPI kontrakt a implementoval ho deseti způsoby: 5× .NET, 3× Python, 2× TS. Black-box konformační sada dokazuje, že se každá implementace chová identicky, ještě než se začne měřit.

Rozhodnutí & kompromisy

Férový benchmark s k6: identická zátěž, parita hardwaru, pinované verze, okna warm-up + měření + cooldown. Reportuju celou tail-latency (p50/p95/p99) a variační koeficient — ne jen průměry.

Zjištění

Uvnitř .NET architektura výkonem skoro nehýbe (~20% rozptyl). Napříč runtimy dominuje model souběžnosti: vícevláknový .NET škáluje ~12× na čtyři jádra, zatímco jednoprocesové Node / FastAPI stagnují. Ceremonie kódu sahala od 1 souboru / 382 LOC po 48 souborů / 1 823 LOC.

Screenshoty

Živý dashboard výsledků — vyber implementaci, prozkoumej ji a přečti si, co který přístup stojí

V číslech

10
implementací
~12×
.NET → 4 jádra
1744→329
req/s @1 CPU
4
nalezené bugy