Appendix A. Support Scripts
Here are full listings for some scripts that were too long to fit in the main text. Also included are scripts used to generate some of the tables and data fixtures used in this book.
These scripts are also available in the Fluent Python code repository, along with almost every other code snippet that appears in the book.
Chapter 3: in Operator Performance Test
Example A-1 is the code I used to produce the timings in Table 3-6 using the timeit
module. The script mostly deals with setting up the haystack
and needles
samples and with formatting output.
While coding Example A-1, I found something that really puts dict
performance in perspective. If the script is run in “verbose mode” (with the -v
command-line option), the timings I get are nearly twice those in Table 3-5. But note that, in this script, “verbose mode” means only four calls to print
while setting up the test, and one additional print
to show the number of needles found when each test finishes. No output happens within the loop that does the actual search of the needles in the haystack, but these five print
calls take about as much time as searching for 1,000 needles.
Example A-1. container_perftest.py: run it with the name of a built-in collection type as a command-line argument (e.g., container_perftest.py dict)
"""
Container ``in`` operator performance test
"""
import
sys
import
timeit
SETUP
=
'''
import array
selected = array.array('d')
with open('selected.arr', 'rb') as fp:
selected.fromfile(fp, ...
Get Fluent Python now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.