Browse Source

Fixed formatting of nested lists

pull/9727/head
Motov Yurii 2 months ago
committed by GitHub
parent
commit
75e33d72ea
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 27
      docs/fa/docs/benchmarks.md

27
docs/fa/docs/benchmarks.md

@ -15,21 +15,22 @@
سلسله مراتب به این شکل است: سلسله مراتب به این شکل است:
* **Uvicorn**:یک سرور ASGI * **Uvicorn**:یک سرور ASGI
* **Starlette**: (استفاده میکند از Uvicorn) یک وب میکرو فریم ورک * **Starlette**: (استفاده میکند از Uvicorn) یک وب میکرو فریم ورک
* **FastAPI** (استفاده میکند از Starlette ) یک میکرو فریم‌ورک API با ویژگی‌های بیشتر برای ساختن API ها است، با اعتبارسنجی داده‌ها و غیره. * **FastAPI** (استفاده میکند از Starlette ) یک میکرو فریم‌ورک API با ویژگی‌های بیشتر برای ساختن API ها است، با اعتبارسنجی داده‌ها و غیره.
* **Uvicorn**: * **Uvicorn**:
* این سرور بهترین عملکرد را دارد زیرا به جز سرور خودش، کد اضافی کمتری دارد. * این سرور بهترین عملکرد را دارد زیرا به جز سرور خودش، کد اضافی کمتری دارد.
* شما نباید به طور مستقیم یک برنامه را در Uvicorn ایجاد کنید.این بدان معناست که کد شما باید کم و بیش شامل تمام کدهای ارائه شده توسط Starlette (یا **FastAPI**) باشد. و اگر این کار را انجام دهید، برنامه نهایی شما همان هزینه اضافی را خواهد داشت که از یک فریم ورک استفاده کرده باشید و کد برنامه و باگ‌های خود را به کمترین حالت ممکن رسانده باشید. * شما نباید به طور مستقیم یک برنامه را در Uvicorn ایجاد کنید.این بدان معناست که کد شما باید کم و بیش شامل تمام کدهای ارائه شده توسط Starlette (یا **FastAPI**) باشد. و اگر این کار را انجام دهید، برنامه نهایی شما همان هزینه اضافی را خواهد داشت که از یک فریم ورک استفاده کرده باشید و کد برنامه و باگ‌های خود را به کمترین حالت ممکن رسانده باشید.
* اگر قصد مقایسه Uvicorn را دارید، باید آن را با سایر سرورهای برنامه‌ای مانند Daphne، Hypercorn، uWSGI و غیره مقایسه کنید. * اگر قصد مقایسه Uvicorn را دارید، باید آن را با سایر سرورهای برنامه‌ای مانند Daphne، Hypercorn، uWSGI و غیره مقایسه کنید.
* **Starlette**: * **Starlette**:
* بعد از Uvicorn، بهترین عملکرد را خواهد داشت. در واقع، Starlette از Uvicorn برای اجرا استفاده می‌کند. بنابراین، احتمالاً تنها با اجرای کد بیشتر، تنها "کندتر" از Uvicorn خواهد بود. * بعد از Uvicorn، بهترین عملکرد را خواهد داشت. در واقع، Starlette از Uvicorn برای اجرا استفاده می‌کند. بنابراین، احتمالاً تنها با اجرای کد بیشتر، تنها "کندتر" از Uvicorn خواهد بود.
* اما ابزارهایی را برای ساختن برنامه های کاربردی وب ساده با routing(مسیریابی) و بر اساس مسیرها (paths) و غیره در اختیار شما قرار می دهد. * اما ابزارهایی را برای ساختن برنامه های کاربردی وب ساده با routing(مسیریابی) و بر اساس مسیرها (paths) و غیره در اختیار شما قرار می دهد.
* اگر میخواهید Starlette را مقایسه کنید آن را با framework های وب Sanic، Flask، Django و... مقایسه کنید(یا microframeworks). * اگر میخواهید Starlette را مقایسه کنید آن را با framework های وب Sanic، Flask، Django و... مقایسه کنید(یا microframeworks).
* **FastAPI**: * **FastAPI**:
* همانطور که Starlette از Uvicorn استفاده می کند و نمی تواند سریعتر از آن باشد، **FastAPI** از Starlette استفاده می کند، بنابراین نمی تواند سریعتر از آن باشد. * همانطور که Starlette از Uvicorn استفاده می کند و نمی تواند سریعتر از آن باشد، **FastAPI** از Starlette استفاده می کند، بنابراین نمی تواند سریعتر از آن باشد.
* FastAPI ویژگی های بیشتری از Starlette را فراهم میکند مانند اعتبارسنجی داده‌ها و سریال‌سازی که تقریبا همیشه هنگام ساختن API به آن نیاز دارید. و با استفاده از آن، اسناد خودکار را ایجاد می کند(مستندات خودکار حتی به برنامه های در حال اجرا باری اضافه نمی کند و در هنگام راه اندازی ایجاد می شود). * FastAPI ویژگی های بیشتری از Starlette را فراهم میکند مانند اعتبارسنجی داده‌ها و سریال‌سازی که تقریبا همیشه هنگام ساختن API به آن نیاز دارید. و با استفاده از آن، اسناد خودکار را ایجاد می کند(مستندات خودکار حتی به برنامه های در حال اجرا باری اضافه نمی کند و در هنگام راه اندازی ایجاد می شود).
* اگر از FastAPI استفاده نمی کنید و مستقیم از Starlette (یا هر ابزار دیگری مانند Sanic، Flask، Responder و...) استفاده می کنید، باید تمام اعتبار سنجی و سریال سازی داده ها را خودتان پیاده سازی کنید.بنابراین برنامه نهایی شما همچنان همان هزینه‌های اضافی را دارد که اگر با FastAPI ساخته شده باشد.و در بسیاری از موارد، این اعتبارسنجی داده ها و سریال سازی، بیشترین مقدار کد نوشته شده در برنامه ها است. * اگر از FastAPI استفاده نمی کنید و مستقیم از Starlette (یا هر ابزار دیگری مانند Sanic، Flask، Responder و...) استفاده می کنید، باید تمام اعتبار سنجی و سریال سازی داده ها را خودتان پیاده سازی کنید.بنابراین برنامه نهایی شما همچنان همان هزینه‌های اضافی را دارد که اگر با FastAPI ساخته شده باشد.و در بسیاری از موارد، این اعتبارسنجی داده ها و سریال سازی، بیشترین مقدار کد نوشته شده در برنامه ها است.
* بنابراین با استفاده از FastAPI، شما در زمان توسعه، باگ‌ها، تعداد خطوط کد و همچنین عملکردی که ممکن است بدست نیاید، صرفه‌جویی می‌کنید. * بنابراین با استفاده از FastAPI، شما در زمان توسعه، باگ‌ها، تعداد خطوط کد و همچنین عملکردی که ممکن است بدست نیاید، صرفه‌جویی می‌کنید.
* اگر FastAPI را مقایسه می‌کنید، آن را با framework کاربردی وب (یا مجموعه‌ای از ابزارها) مقایسه کنید که اعتبار داده، سریال‌سازی و مستندسازی را ارائه می‌کند، مانند Flask-apispec، NestJS، Molten، و غیره.framework هایی با اعتبارسنجی خودکار داده‌ها، سریال‌سازی و مستندسازی. * اگر FastAPI را مقایسه می‌کنید، آن را با framework کاربردی وب (یا مجموعه‌ای از ابزارها) مقایسه کنید که اعتبار داده، سریال‌سازی و مستندسازی را ارائه می‌کند، مانند Flask-apispec، NestJS، Molten، و غیره.framework هایی با اعتبارسنجی خودکار داده‌ها، سریال‌سازی و مستندسازی.

Loading…
Cancel
Save