Author
Released
3/20/2018- Rules of optimization
- Measuring time
- Using line_profiler
- Picking the right data structure
- Using the bisect module
- Memory allocation in Python
- Caching, cheating, and parallel computing
- NumPy, Numba, and Cython
- Design and code reviews
Skill Level Advanced
Duration
Views
- [Miki] Hi there. I'm Miki Tebeka, a developer, mentor, instructor, and author. I love technology and write code daily, most of the time in Python. Optimized Python code will make your site or application more responsive, which means customers will stay longer and be more likely to return. This course is a compilation of optimization tips and tricks I've learned in the last 20 years. In this course, we'll cover how to find performance bottlenecks by profiling CPU and memory, picking the right data structures and algorithms, assorted tips and tricks to make your code faster, caching techniques, how to cheat the factory, parallel computation, using tools and languages such as C, Cython, Lambda, and others, and how to integrate performance into a process.
Let's roll.
Related Courses
-
Learning the Python 3 Standard Library
with Kathryn Hodge2h 9m Intermediate -
Learning Python
with Joe Marini2h 27m Beginner
-
Introduction
-
Welcome54s
-
What you should know1m 18s
-
-
1. Tools of the Trade
-
Always profile first1m 33s
-
General tips1m 40s
-
Measuring time4m 55s
-
CPU profiling6m 54s
-
line_profiler5m 7s
-
Tracing memory allocations3m 53s
-
memory_profiler2m 23s
-
-
2. Picking the Right Data Structure
-
Big-O notation2m 30s
-
bisect3m 18s
-
deque3m
-
heapq3m 52s
-
Beyond the standard library5m 15s
-
-
3. Tricks of the Trade
-
Local caching of names3m 23s
-
Remove function calls3m 16s
-
Using __slots__3m 24s
-
Built-ins3m 2s
-
Allocate3m 6s
-
-
4. Caching
-
Overview2m 46s
-
Pre-calculating2m 37s
-
lru_cache3m 3s
-
Joblib3m 26s
-
-
5. Cheating
-
Cheating example4m 21s
-
6. Parallel Computing
-
Amdahl's Law4m 13s
-
Threads2m 56s
-
Processes2m 59s
-
asyncio5m 16s
-
-
7. Beyond Python
-
NumPy3m 55s
-
Numba3m 50s
-
Cython4m 38s
-
PyPy2m 5s
-
C extensions3m 44s
-
-
8. Adding Optimization to Your Process
-
Why do we need a process?1m 11s
-
Design and code reviews2m 51s
-
Benchmarks3m 15s
-
Monitoring and alerting2m 41s
-
-
Conclusion
-
Next steps1m 5s
-
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.
CancelTake notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.
Share this video
Embed this video
Video: Welcome