Какие основные реализации event loop существуют в asyncio? В чём их отличие по производительности и как выбор влияет на масштабируемость приложения?