Мета-контекст:
Я строю API, используя aiohttp .Поскольку это асинхронный каркас, я должен использовать асинхронный для определения обработчиков.Пример:
async def index_handler(request):
return web.Response(text="Hello, world")
app = web.Application()
app.router.add_route("GET", "/", index_handler)
Контекст кода:
Во время разработки я попал в ситуацию, когда у меня были вложенные вызовы функций, например:
def bar():
return "Hi"
async def foo():
return bar()
await foo()
Когда я думал о производительности, я не знал, следует ли мне выполнять эти вложенные функции также асинхронно.Пример:
async def bar()
return "Hi"
async def foo():
return await bar()
await foo()
Вопрос:
Каков наилучший способ выполнения вызовов вложенных функций для оптимизации производительности?Всегда использовать async / await или всегда использовать синхронизацию?Имеет ли это значение?