Sync vs. Async in Python: Tools, Benchmarks, and ASGI/WSGI Explained

Arun Suresh Kumar (~arun50)




Sync vs. Async in Python: Tools, Benchmarks, and ASGI/WSGI Explained


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

  1. Introduction to Synchronous and Asynchronous Programming (5 minutes)
  • Defining synchronous and asynchronous programming.
  • Discussing their roles and benefits in Python development.
  1. Deep Dive into Asynchronous Tools: Uvicorn and uvloop (7 minutes)
  • Introduction to Uvicorn and uvloop.
  • Exploring their functionalities and how they enhance asynchronous programming.
  1. Benchmarking Async Tools (4 minutes)
  • Presenting performance benchmarks of Uvicorn, uvloop, and other tools.
  • Comparative analysis to understand their efficiency in different scenarios.
  1. 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.
  1. 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.
  1. 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.
  1. 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:

Section: Python in Web and Applications
Type: Talk
Target Audience: Beginner
Last Updated: