Python Benchmarking: Measure The Execution Time Of Python Code With The time And timeit Modules

SuperFastPython.com
Sách điện tử
317
Trang
Đủ điều kiện

Giới thiệu về sách điện tử này

Without benchmarking, we're working in the dark.


Python code can be slow.


Benchmarking is a way of discovering exactly how long code takes to execute. Without benchmarking, we have no idea whether changes make code run faster or not.


You need to know:


* How to benchmark statements, functions, and programs using the time module.

* How to develop benchmarking helper functions, context managers, and decorators.

* How to benchmark snippets of code using the timeit module.


Benchmarking is required to develop fast Python code.


Python provides 5 built-in functions for reporting the current time. The problem is, that many developers use just one, the time() function, and are unaware of how inappropriate it is for benchmarking. Instead, we should be using the perf_counter() function.


Python also provides the timeit module with API and command line interface specifically designed for benchmarking. It encodes best practices such as repeated execution of target code and use of a high-precision timing function. Nevertheless, few developers use it because it is confusing. The trick is to adopt the "timeit" mindset.


Introducing: "Python Benchmarking". A new book designed to teach you how to bring modern benchmarking practices to your projects, super fast!


You will get fast-paced tutorials showing you how to benchmark your Python code, as well as some much-needed advice on advanced topics, such as:


* How to benchmark asyncio programs and coroutines.

* How to choose the precision and units of measure when reporting benchmark results.

* Why it is a good idea to repeat benchmark tests many times and report average results.

* How profiling is not benchmarking but can help in deciding what to optimize.


Each tutorial is carefully designed to teach one critical aspect of how to effectively benchmark Python code.


Table of Contents


* Tutorial 01: Introduction.

* Tutorial 02: Benchmarking Python.

* Tutorial 03: Benchmarking With time.time()

* Tutorial 04: Benchmarking With time.monotonic()

* Tutorial 05: Benchmarking With time.perf_counter()

* Tutorial 06: Benchmarking With time.thread_time()

* Tutorial 07: Benchmarking With time.process_time()

* Tutorial 08: Comparing time Module Functions

* Tutorial 09: Benchmark Metrics

* Tutorial 10: Benchmark Repetition

* Tutorial 11: Benchmark Reporting

* Tutorial 12: Benchmark Helper Function

* Tutorial 13: Benchmark Stopwatch Class

* Tutorial 14: Benchmark Context Manager

* Tutorial 15: Benchmark Function Decorator

* Tutorial 16: Gentle Introduction to Asyncio

* Tutorial 17: Benchmarking Asyncio With loop.time()

* Tutorial 18: Benchmark Helper Coroutine

* Tutorial 19: Benchmark Asynchronous Context Manager

* Tutorial 20: Benchmark Coroutine Decorator

* Tutorial 21: Benchmarking With The timeit Module

* Tutorial 22: Benchmarking With timeit.timeit()

* Tutorial 23: Benchmarking With The timeit Command Line

* Tutorial 24: Profile Python Code

* Tutorial 25: Benchmarking With The time Command

* Tutorial 26: Conclusions


Learn Python benchmarking correctly, step-by-step.

Giới thiệu tác giả

Jason Brownlee, Ph.D. helps Python developers bring modern concurrency methods to their projects with hands-on tutorials. Learn more at https://SuperFastPython.com


Jason is a software engineer and research scientist with a background in artificial intelligence and high-performance computing. He has authored more than 20 technical books on machine learning and has built, operated, and exited online businesses.

Xếp hạng sách điện tử này

Cho chúng tôi biết suy nghĩ của bạn.

Đọc thông tin

Điện thoại thông minh và máy tính bảng
Cài đặt ứng dụng Google Play Sách cho AndroidiPad/iPhone. Ứng dụng sẽ tự động đồng bộ hóa với tài khoản của bạn và cho phép bạn đọc trực tuyến hoặc ngoại tuyến dù cho bạn ở đâu.
Máy tính xách tay và máy tính
Bạn có thể nghe các sách nói đã mua trên Google Play thông qua trình duyệt web trên máy tính.
Thiết bị đọc sách điện tử và các thiết bị khác
Để đọc trên thiết bị e-ink như máy đọc sách điện tử Kobo, bạn sẽ cần tải tệp xuống và chuyển tệp đó sang thiết bị của mình. Hãy làm theo hướng dẫn chi tiết trong Trung tâm trợ giúp để chuyển tệp sang máy đọc sách điện tử được hỗ trợ.