YoVDO

Faster Python Code

Offered By: LinkedIn Learning

Tags

Python Courses NumPy Courses Data Structures Courses Parallel Computing Courses Code Optimization Courses Code Efficiency Courses Numba Courses Cython Courses

Course Description

Overview

Learn tips to help optimize your Python code. Discover how to pick the right data structures, use caching, integrate performance in your process, and more.

Syllabus

Introduction
  • Welcome
  • What you should know
  • Use Codespaces with this course
1. Tools of the Trade
  • Always profile first
  • General tips
  • Measuring time
  • CPU profiling
  • line_profiler
  • Tracing memory allocations
  • memory_profiler
2. Picking the Right Data Structure
  • Big-O notation
  • bisect
  • deque
  • heapq
  • Beyond the standard library
3. Tricks of the Trade
  • Local caching of names
  • Remove function calls
  • Using __slots__
  • Built-ins
  • Allocate
4. Caching
  • Overview
  • Pre-calculating
  • lru_cache
  • Joblib
5. Cheating
  • When approximation is good enough
  • Cheating example
6. Parallel Computing
  • Amdahl's Law
  • Threads
  • Processes
  • asyncio
7. Beyond Python
  • NumPy
  • Numba
  • Cython
  • PyPy
  • C extensions
8. Adding Optimization to Your Process
  • Why do we need a process?
  • Design and code reviews
  • Benchmarks
  • Monitoring and alerting
Conclusion
  • Next steps

Taught by

Miki Tebeka

Related Courses

Faster pandas
LinkedIn Learning
Cython Tutorial - Bridging Between Python and C-C++ for Performance Gains
sentdex via YouTube
Cython 3 - Python at the Speed of C
EuroPython Conference via YouTube
Extending Cython with GIL-Free Types
EuroPython Conference via YouTube
Fast Native Data Structures - C-C++ from Python
EuroPython Conference via YouTube