Performance Driven Python:
Basic Training

Performance Driven Python:
Basic Training

Maximize your Python application’s efficiency and master techniques for high-performance optimization.

With our expert-led training program,
designed to equip you with cutting-edge skills in modern application deployment and management.
Benefit from our wealth of experience from countless customer projects:

Experience a balanced mix of theory, live demonstrations and practical exercises.

Learn to profile Python applications, identify performance bottlenecks, and address them effectively.

Understand how to leverage concurrency and asynchronous programming in Python for increased efficiency.

Develop scalable systems with horizontal scaling and optimized data processing techniques.

Performance Driven Python Training – upcoming dates

14.11. – 15.11.2024

Performance Driven Python in 2 Days

20.01. – 21.01.2025

Performance Driven Python in 2 Days

06.03. – 07.03.2025

Performance Driven Python in 2 Days

This course is designed for experienced Python developers who want to learn advanced techniques to optimize the performance of their applications. It is ideal for software engineers aiming to boost the efficiency of their Python projects, particularly in data-intensive or high-availability environments. Developers interested in concurrency, Cython, Rust integration, and Python optimization for production environments will gain valuable tools and insights through this course.

Practical Applications That We Will Cover in the Training:

  • 1
    Hands-on experience with profiling tools and advanced performance optimization techniques.
  • 2
    Understanding of how to design high-performance applications that meet the demands of large-scale, data-intensive environments.
  • 3
    Knowledge of real-world strategies for monitoring and tuning performance in production environments.

After The Course, You Will Be Able To:

  • 1
    Profile and analyze Python applications to identify and resolve bottlenecks.
  • 2
    Implement advanced performance optimization techniques in real-world projects.
  • 3
    Leverage modern multi-core processors to optimize Python for high efficiency and scalability.
  • 4
    Design scalable systems using Python with asynchronous programming and horizontal scaling.
  • 5
    Seamlessly integrate powerful tools like Numba, Cython, and Rust into Python projects.

The Performance Driven Python training is perfect for you if…

  • You want to gain knowledge of techniques for concurrency, parallelism, horizontal scaling, JIT compilation, Cython, Rust, caching, data-intensive optimization with tools like pandas, NumPy, and Dask, and continuous monitoring and tuning

  • You have a basic Phython knowledge

  • You are interested in learning how to integrate Python with databases and web services

The Performance Driven Python training is not suitable for you if…

  • You are not a Python developer or do not have experience with Python programming
  • You are not interested in learning advanced performance optimization techniques
  • You prefer a beginner-level introduction to Python instead of an advanced optimization course.

Agenda

Training

For small companies and teams that are new to the topic.

  • Overview of performance considerations in Python
  • The balance between development speed and runtime efficiency
  • Success stories of optimized Python applications
  • Introduction to profiling tools and techniques for Python
  • Hands-on walkthrough of profiling a sample Python application
  • Analyzing profiling results to identify CPU and memory bottlenecks
  • Common pitfalls in Python coding that lead to performance issues
  • Best practices for efficient use of data structures and algorithms
  • Case studies: Refactoring for performance
  • Understanding the Global Interpreter Lock (GIL) and its implications for multi-threaded Python programs
  • Using the multiprocessing module to achieve true parallelism
  • When and how can I use Asyncio for asynchronous programming?
  • Basics of horizontal scaling and when it’s necessary
  • Introduction to Celery and RabbitMQ for task distribution and asynchronous processing
  • Architecting and deploying a simple, horizontally scalable service
  • Using line_profiler for line-by-line analysis
  • Memory profiling with tools like memory_profiler and PySpy
  • Visualizing profiling data with interactive tools to identify bottlenecks more intuitively
  • Efficient data processing with pandas and NumPy
  • Techniques for working with large datasets that don’t fit into memory
  • Utilizing Dask for parallel computing and large-scale data processing
  • Event-driven Architecture for scaling data processing pipelines
  • Fundamentals of caching
  • When to use it and what options are available
  • Implementing caching in Python with examples using simple caching mechanisms and more sophisticated tools like Memcache
  • Cache invalidation strategies and best practices

Customized

For large companies and teams that want to master special challenges.

  • Ihr Ökosystem
  • Ihre Best Practices
  • Ihre Probleme und Themen
  • JIT Compilation with Numba:
    • Basics of Just-In-Time compilation and how Numba facilitates this for Python
    • Practical examples of using Numba to speed up numerical computations
  • Using Cython to Optimize Python:
    • Introduction to Cython as a tool for compiling Python to C for performance gains
    • Case studies on incrementally optimizing Python code with Cython
  • Integrating Rust in Python:
    • Why and when should Python be extended with Rust for performance?
    • Basics of Rust and creating Python extensions with Rust
  • Introduction to performance monitoring tools and services
  • Techniques for continuous performance testing and benchmarking
  • Strategies for tuning performance in response to real-world usage patterns
  • Overview of performance considerations in Python
  • The balance between development speed and runtime efficiency
  • Success stories of optimized Python applications
  • Introduction to profiling tools and techniques for Python
  • Hands-on walkthrough of profiling a sample Python application
  • Analyzing profiling results to identify CPU and memory bottlenecks
  • Common pitfalls in Python coding that lead to performance issues
  • Best practices for efficient use of data structures and algorithms
  • Case studies: Refactoring for performance
  • Understanding the Global Interpreter Lock (GIL) and its implications for multi-threaded Python programs
  • Using the multiprocessing module to achieve true parallelism
  • When and how can I use Asyncio for asynchronous programming?
  • Basics of horizontal scaling and when it’s necessary
  • Introduction to Celery and RabbitMQ for task distribution and asynchronous processing
  • Architecting and deploying a simple, horizontally scalable service
  • Using line_profiler for line-by-line analysis
  • Memory profiling with tools like memory_profiler and PySpy
  • Visualizing profiling data with interactive tools to identify bottlenecks more intuitively
  • Efficient data processing with pandas and NumPy
  • Techniques for working with large datasets that don’t fit into memory
  • Utilizing Dask for parallel computing and large-scale data processing
  • Event-driven Architecture for scaling data processing pipelines
  • Fundamentals of caching
  • When to use it and what options are available
  • Implementing caching in Python with examples using simple caching mechanisms and more sophisticated tools like Memcache
  • Cache invalidation strategies and best practices

Hear from our satisfied training attendees

A1 Telekom Austria AG

Reinhard Burgmann
Head of Data Ecosystem

„UTA coached my team along the development process of the migration plan of our on premises data lake to the public cloud.

The outstanding level of expertise, both on a technical and organizational level, ensured a well-structured and realistic migration plan including timeline, milestones, and efforts.

The enablement of my team was at the center of a very smooth collaboration. Through UTA, we achieved our goal faster and reduced risks of the migration project significantly.

I highly recommend UTA’s services!“

Vattenfall

Bernard Benning
BA Heat

„I recently attended Vattenfall IT’s online Kafka training day hosted by Ultra Tendency, and it was an enriching experience.

The trainer, Ahmed, did a fantastic job explaining the theory behind Kafka, and the emphasis on practical application was great. The hands-on programming exercises were particularly helpful, and I’ve never experienced training with so many interactive examples!

Overall, I highly recommend this training to anyone who wants to improve their Kafka knowledge interactively and gain valuable skills.“

VP Bank

Eisele Peer
Lead Architect & Head of IT Integration & Development

The MLOps training exceeded our expectations!

It offered a perfect blend of an overview, hands-on coding examples, and real-world use cases. The trainer answered all questions competently and adapted the content to fit our company’s infrastructure.

This training not only provided us with knowledge but also practical skills that we can apply immediately.

Your investment

1949 €plus VAT.
  • Profiling and Analysis Tools: Learn how to spot performance issues in Python applications and resolve them effectively. We will use profiling tools such as line_profiler and PySpy to identify bottlenecks.
  • Concurrency & Parallelism: Understand the fundamentals of concurrency, the Global Interpreter Lock (GIL), utilize the multiprocessing module for true parallelism, and learn Asyncio for asynchronous programming.
  • Horizontal Scaling & Caching: Design scalable services using Celery and RabbitMQ and implement effective caching strategies to improve response times and reduce load.

Get to know your trainers

Marvin Taschenberger

Professional Software Architect, Ultra Tendency

Hudhaifa Ahmed

Senior Lead Big Data Developer Berlin Territory Manager, Ultra Tendency

Matthias Baumann

Chief Technology Officer & Principal Big Data Solutions Architect Lead, Ultra Tendency

Required hardware & infrastructure for your Docker Training

  • You will need a PC or Mac with a web browser and MS Teams.
  • During the training, we will provide you with a virtual machine with the required local dependencies, services and root access.
  • This VM has a running Kubernetes cluster on which you can test and execute the training instructions.
  • You can access the machine via a browser or SSH if you wish and the network restrictions allow it.