Skip to content

Commit

Permalink
🌐 Add German translation for docs/de/docs/benchmarks.md
Browse files Browse the repository at this point in the history
* Full translation
* In sync with current docs/en/docs/benchmarks.md
* Google Translate used
* Manually checked
* Checked for errors using LanguageTool
  • Loading branch information
nilslindemann committed Dec 30, 2023
1 parent 040ad98 commit 357f3b7
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions docs/de/docs/benchmarks.md
@@ -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.

0 comments on commit 357f3b7

Please sign in to comment.