0
0
FastAPIframework~5 mins

Why async improves performance in FastAPI

Choose your learning style9 modes available
Introduction

Async lets your app do many things at once without waiting. This makes it faster and better at handling many users.

When your app talks to a database and waits for answers
When your app calls other websites or services
When many users send requests at the same time
When you want your app to stay responsive even if some tasks take time
Syntax
FastAPI
from fastapi import FastAPI
import asyncio

app = FastAPI()

@app.get("/items")
async def read_items():
    await asyncio.sleep(1)  # Simulate a slow task
    return {"message": "Done waiting"}

Use async def to define an async function.

Use await to pause the function until a task finishes without blocking others.

Examples
A simple async endpoint that returns a message immediately.
FastAPI
from fastapi import FastAPI
import asyncio

app = FastAPI()

@app.get("/hello")
async def say_hello():
    return {"message": "Hello!"}
This endpoint waits 1 second without blocking other requests.
FastAPI
from fastapi import FastAPI
import asyncio

app = FastAPI()

@app.get("/wait")
async def wait_one_second():
    await asyncio.sleep(1)
    return {"message": "Waited 1 second"}
Sample Program

This FastAPI app has two endpoints. The /fast endpoint responds immediately. The /slow endpoint waits 3 seconds without blocking the server. Both can work together smoothly because of async.

FastAPI
from fastapi import FastAPI
import asyncio

app = FastAPI()

@app.get("/fast")
async def fast_response():
    return {"message": "Fast response"}

@app.get("/slow")
async def slow_response():
    await asyncio.sleep(3)  # Simulate slow task
    return {"message": "Slow response after 3 seconds"}
OutputSuccess
Important Notes

Async helps your app handle many users at once without slowing down.

Not all code benefits from async; it works best when waiting for input/output like network or disk.

Use async carefully with libraries that support it to avoid blocking.

Summary

Async lets your app do many things at the same time.

This improves speed and user experience when waiting is involved.

FastAPI supports async easily with async def and await.