Sync vs. Async in Python: Tools, Benchmarks, and ASGI/WSGI Explained
Arun Suresh Kumar (~arun50) |
Description:
Sync vs. Async in Python: Tools, Benchmarks, and ASGI/WSGI Explained
Abstract
This talk focuses on synchronous and asynchronous programming in Python, highlighting tools like Uvicorn and uvloop, their benchmarks, and the role of ASGI/WSGI servers.
Topics Covered:
- Synchronous vs. Asynchronous Programming: Key differences and applications.
- Tools like Uvicorn and uvloop: Detailed exploration of these async tools.
- Benchmarking Async Tools: Performance analysis and comparisons.
- ASGI and WSGI Servers: Their evolution and importance in Python web development.
- Best Practices and Recommendations: Effective sync and async programming strategies.
- Real-World Scenarios and Examples: Practical insights from actual use-cases.
Presentation Outline: Sync vs. Async in Python
- Introduction to Synchronous and Asynchronous Programming (5 minutes)
- Defining synchronous and asynchronous programming.
- Discussing their roles and benefits in Python development.
- Deep Dive into Asynchronous Tools: Uvicorn and uvloop (7 minutes)
- Introduction to Uvicorn and uvloop.
- Exploring their functionalities and how they enhance asynchronous programming.
- Benchmarking Async Tools (4 minutes)
- Presenting performance benchmarks of Uvicorn, uvloop, and other tools.
- Comparative analysis to understand their efficiency in different scenarios.
- ASGI vs. WSGI Servers in Python (6 minutes)
- Explaining the evolution from WSGI to ASGI.
- Discussing the significance and use cases of both server types.
- Best Practices for Sync and Async Programming (3 minutes)
- Effective strategies and recommendations for implementing sync and async programming.
- Tips for choosing the right approach for specific project needs.
- Real-world examples and Case Studies (3 minutes)
- Demonstrating practical applications of synchronous and asynchronous programming.
- Case studies will be shared to highlight the impact of tool and paradigm selection.
- Q&A and Discussion (4 minutes)
- Open floor for audience questions and interaction.
Conclusion (1 minute) - Recap of key points and takeaways.
Speaker Info:
I’m Arun Suresh Kumar, a Python enthusiast from Kerala, India, currently building Strollby by serving as UST’s Entrepreneur in Residence.
With over a decade of experience specialising in the GraphQL ecosystem, I actively contributes to open-source projects, enhancing Python’s GraphQL integration with libraries like graphene-federation and graphene-mongo.
Away from Python, I’m also recognised for my expertise in identifying and resolving security vulnerabilities as a bug bounty hunter. I also serves as the OWASP Kerala chapter board member, contributing to web security awareness and practices.
Speaker Links:
https://us.pycon.org/2024/speaker/profile/176/ https://github.com/arunsureshkumar?tab=repositories https://github.com/graphql-python/graphene-federation/graphs/contributors