Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
đ Add German translation for
docs/de/docs/benchmarks.md
* Full translation * In sync with current docs/en/docs/benchmarks.md * Google Translate used * Manually checked * Checked for errors using LanguageTool
- Loading branch information
1 parent
040ad98
commit 357f3b7
Showing
1 changed file
with
34 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Benchmarks | ||
|
||
UnabhĂ€ngige TechEmpower-Benchmarks zeigen, **FastAPI**-Anwendungen, die unter Uvicorn ausgefĂŒhrt werden, gehören zu <a href="https://www.techempower.com/benchmarks/#section=test&runid=7464e520-0dc2-473d-bd34-dbdfd7e85911&hw=ph&test=query&l= zijzen-7" class="external-link" target="_blank">den schnellsten existierenden Python-Frameworks</a>, nur Starlette und Uvicorn selbst (intern von FastAPI verwendet) sind schneller. | ||
|
||
Beim Ansehen von Benchmarks und Vergleichen sollten Sie jedoch Folgendes beachten. | ||
|
||
## Benchmarks und Geschwindigkeit | ||
|
||
Wenn Sie sich die Benchmarks ansehen, werden hÀufig mehrere Tools unterschiedlichen Typs als gleichwertig verglichen. | ||
|
||
Konkret geht es darum, Uvicorn, Starlette und FastAPI miteinander zu vergleichen (neben vielen anderen Tools). | ||
|
||
Je einfacher das Problem, welches durch das Tool gelöst wird, desto besser ist die Performanz. Und die meisten Benchmarks testen nicht die zusÀtzlichen Funktionen, welche das Tool bietet. | ||
|
||
Die Hierarchie ist wie folgt: | ||
|
||
* **Uvicorn**: ein ASGI-Server | ||
* **Starlette**: (verwendet Uvicorn) ein Web-Mikroframework | ||
* **FastAPI**: (verwendet Starlette) ein API-Mikroframework mit mehreren zusÀtzlichen Funktionen zum Erstellen von APIs, mit Datenvalidierung, usw. | ||
|
||
* **Uvicorn**: | ||
* Bietet die beste Leistung, da auĂer dem Server selbst nicht viel zusĂ€tzlicher Code vorhanden ist. | ||
* Sie wĂŒrden eine Anwendung nicht direkt in Uvicorn schreiben. Das wĂŒrde bedeuten, dass Ihr Code zumindest mehr oder weniger den gesamten von Starlette (oder **FastAPI**) bereitgestellten Code enthalten mĂŒsste. Und wenn Sie das tĂ€ten, hĂ€tte Ihre endgĂŒltige Anwendung den gleichen Overhead wie die Verwendung eines Frameworks nebst Minimierung Ihres Anwendungscodes und der Fehler. | ||
* Wenn Sie Uvicorn vergleichen, vergleichen Sie es mit Anwendungsservern wie Daphne, Hypercorn, uWSGI, usw. | ||
* **Starlette**: | ||
* Wird nach Uvicorn die nĂ€chstbeste Performanz erbringen. TatsĂ€chlich nutzt Starlette Uvicorn zum Laufen. Daher kann es wahrscheinlich nur âlangsamerâ als Uvicorn sein, weil mehr Code ausgefĂŒhrt wird. | ||
* Aber es bietet Ihnen die Tools zum Erstellen einfacher Webanwendungen, mit Routing basierend auf Pfaden, usw. | ||
* Wenn Sie Starlette vergleichen, vergleichen Sie es mit Webframeworks (oder Mikroframeworks) wie Sanic, Flask, Django, usw. | ||
* **FastAPI**: | ||
* So wie Starlette Uvicorn verwendet und nicht schneller als dieses sein kann, verwendet **FastAPI** Starlette, sodass es nicht schneller als dieses sein kann. | ||
* FastAPI bietet zusĂ€tzlich zu Starlette weitere Funktionen. Funktionen, die Sie beim Erstellen von APIs fast immer benötigen, wie Datenvalidierung und Serialisierung. Und wenn Sie es verwenden, erhalten Sie kostenlos automatische Dokumentation (die automatische Dokumentation verursacht nicht einmal zusĂ€tzlichen Aufwand fĂŒr laufende Anwendungen, sie wird beim Start generiert). | ||
* Wenn Sie FastAPI nicht, und direkt Starlette (oder ein anderes Tool wie Sanic, Flask, Responder, usw.) verwenden wĂŒrden, mĂŒssten Sie die gesamte Datenvalidierung und Serialisierung selbst implementieren. Ihre finale Anwendung hĂ€tte also immer noch den gleichen Overhead, als ob sie mit FastAPI erstellt worden wĂ€re. Und in vielen FĂ€llen ist diese Datenvalidierung und Serialisierung der gröĂte Teil des in Anwendungen geschriebenen Codes. | ||
* Durch die Verwendung von FastAPI sparen Sie also Entwicklungszeit, Fehler und Codezeilen und wĂŒrden wahrscheinlich die gleiche Leistung (oder eine bessere) erzielen, die Sie hĂ€tten, wenn Sie es nicht verwenden wĂŒrden (da Sie alles in Ihrem Code implementieren mĂŒssten). | ||
* Wenn Sie FastAPI vergleichen, vergleichen Sie es mit einem Webanwendung-Framework (oder einer Reihe von Tools), welches Datenvalidierung, Serialisierung und Dokumentation bereitstellt, wie Flask-apispec, NestJS, Molten, usw. â Frameworks mit integrierter automatischer Datenvalidierung, Serialisierung und Dokumentation. |