ch20 cleanup and f-strings
This commit is contained in:
parent
c5114a5679
commit
1a0da424e2
@ -2,7 +2,6 @@
|
||||
|
||||
import math
|
||||
|
||||
|
||||
PRIME_FIXTURE = [
|
||||
(2, True),
|
||||
(142702110479723, True),
|
||||
|
@ -6,11 +6,11 @@ can be faster than sequential code for CPU-intensive work.
|
||||
"""
|
||||
|
||||
# tag::PRIMES_PROC_TOP[]
|
||||
import sys
|
||||
from time import perf_counter
|
||||
from typing import NamedTuple
|
||||
from multiprocessing import Process, SimpleQueue, cpu_count # <1>
|
||||
from multiprocessing import queues # <2>
|
||||
import sys
|
||||
|
||||
from primes import is_prime, NUMBERS
|
||||
|
||||
@ -60,8 +60,8 @@ def main() -> None:
|
||||
if jobs.empty(): # <9>
|
||||
break
|
||||
|
||||
time = perf_counter() - t0
|
||||
print('Total time:', f'{time:0.2f}s')
|
||||
elapsed = perf_counter() - t0
|
||||
print(f'Total time: {elapsed:.2f}s')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
@ -1,6 +1,6 @@
|
||||
# tag::PRIMES_PROC_TOP[]
|
||||
from time import perf_counter
|
||||
from typing import Tuple, List, NamedTuple
|
||||
from typing import List, NamedTuple
|
||||
from multiprocessing import Process, SimpleQueue # <1>
|
||||
|
||||
from primes import is_prime, NUMBERS
|
||||
@ -34,8 +34,8 @@ def main() -> None:
|
||||
label = 'P' if prime else ' '
|
||||
print(f'{n:16} {label} {elapsed:9.6f}s')
|
||||
|
||||
time = perf_counter() - t0
|
||||
print('Total time:', f'{time:0.2f}s')
|
||||
elapsed = perf_counter() - t0
|
||||
print(f'Total time: {elapsed:.2f}s')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -28,7 +28,7 @@ def main() -> None:
|
||||
print(f'{n:16} {label} {elapsed:9.6f}s')
|
||||
|
||||
elapsed = perf_counter() - t0 # <4>
|
||||
print('Total time:', f'{elapsed:0.2f}s')
|
||||
print(f'Total time: {elapsed:.2f}s')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
@ -24,7 +24,7 @@ async def check(n: int) -> int:
|
||||
|
||||
async def supervisor(n: int) -> int:
|
||||
spinner = asyncio.create_task(spin('thinking!')) # <1>
|
||||
print('spinner object:', spinner) # <2>
|
||||
print(f'spinner object: {spinner}') # <2>
|
||||
result = await check(n) # <3>
|
||||
spinner.cancel() # <5>
|
||||
return result
|
||||
|
@ -43,7 +43,7 @@ async def check(n: int) -> int:
|
||||
|
||||
async def supervisor(n: int) -> int:
|
||||
spinner = asyncio.create_task(spin('thinking!')) # <1>
|
||||
print('spinner object:', spinner) # <2>
|
||||
print(f'spinner object: {spinner}') # <2>
|
||||
result = await check(n) # <3>
|
||||
spinner.cancel() # <5>
|
||||
return result
|
||||
|
@ -4,9 +4,9 @@
|
||||
# multiprocessing example in the python-list:
|
||||
# https://mail.python.org/pipermail/python-list/2009-February/675659.html
|
||||
|
||||
import itertools
|
||||
from multiprocessing import Process, Event
|
||||
from multiprocessing import synchronize
|
||||
import itertools
|
||||
|
||||
from primes import is_prime
|
||||
|
||||
@ -26,7 +26,7 @@ def supervisor(n: int) -> int: # <1>
|
||||
done = Event() # <2>
|
||||
spinner = Process(target=spin,
|
||||
args=('thinking!', done)) # <3>
|
||||
print('spinner object:', spinner) # <4>
|
||||
print(f'spinner object: {spinner}') # <4>
|
||||
spinner.start() # <5>
|
||||
result = check(n) # <6>
|
||||
done.set() # <7>
|
||||
|
@ -4,8 +4,8 @@
|
||||
# multiprocessing example in the python-list:
|
||||
# https://mail.python.org/pipermail/python-list/2009-February/675659.html
|
||||
|
||||
from threading import Thread, Event
|
||||
import itertools
|
||||
from threading import Thread, Event
|
||||
|
||||
from primes import is_prime
|
||||
|
||||
@ -25,7 +25,7 @@ def supervisor(n: int) -> int: # <1>
|
||||
done = Event() # <2>
|
||||
spinner = Thread(target=spin,
|
||||
args=('thinking!', done)) # <3>
|
||||
print('spinner object:', spinner) # <4>
|
||||
print(f'spinner object: {spinner}') # <4>
|
||||
spinner.start() # <5>
|
||||
result = check(n) # <6>
|
||||
done.set() # <7>
|
||||
|
@ -5,12 +5,12 @@ threads.py: shows that Python threads are slower than
|
||||
sequential code for CPU-intensive work.
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
from queue import SimpleQueue
|
||||
from time import perf_counter
|
||||
from typing import NamedTuple
|
||||
from threading import Thread
|
||||
from queue import SimpleQueue
|
||||
import sys
|
||||
import os
|
||||
|
||||
from primes import is_prime, NUMBERS
|
||||
|
||||
@ -58,8 +58,8 @@ def main() -> None:
|
||||
if jobs.empty(): # <8>
|
||||
break
|
||||
|
||||
time = perf_counter() - t0
|
||||
print('Total time:', f'{time:0.2f}s')
|
||||
elapsed = perf_counter() - t0
|
||||
print(f'Total time: {elapsed:.2f}s')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
@ -1,7 +1,7 @@
|
||||
from time import perf_counter
|
||||
from typing import List, NamedTuple
|
||||
from threading import Thread
|
||||
from queue import SimpleQueue
|
||||
from time import perf_counter
|
||||
from threading import Thread
|
||||
from typing import List, NamedTuple
|
||||
|
||||
from primes import is_prime, NUMBERS
|
||||
|
||||
@ -32,8 +32,8 @@ def main() -> None:
|
||||
label = 'P' if prime else ' '
|
||||
print(f'{n:16} {label} {elapsed:9.6f}s')
|
||||
|
||||
time = perf_counter() - t0
|
||||
print('Total time:', f'{time:0.2f}s')
|
||||
elapsed = perf_counter() - t0
|
||||
print(f'Total time: {elapsed:.2f}s')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
@ -27,11 +27,11 @@ async def slow() -> int:
|
||||
# tag::SPINNER_ASYNC_START[]
|
||||
def main() -> None: # <1>
|
||||
result = asyncio.run(supervisor()) # <2>
|
||||
print('Answer:', result)
|
||||
print(f'Answer: {result}')
|
||||
|
||||
async def supervisor() -> int: # <3>
|
||||
spinner = asyncio.create_task(spin('thinking!')) # <4>
|
||||
print('spinner object:', spinner) # <5>
|
||||
print(f'spinner object: {spinner}') # <5>
|
||||
result = await slow() # <6>
|
||||
spinner.cancel() # <7>
|
||||
return result
|
||||
|
@ -25,7 +25,7 @@ async def slow() -> int:
|
||||
|
||||
async def supervisor() -> int:
|
||||
spinner = asyncio.create_task(spin('thinking!')) # <1>
|
||||
print('spinner object:', spinner) # <2>
|
||||
print(f'spinner object: {spinner}') # <2>
|
||||
result = await slow() # <3>
|
||||
spinner.cancel() # <5>
|
||||
return result
|
||||
@ -33,7 +33,7 @@ async def supervisor() -> int:
|
||||
|
||||
def main() -> None:
|
||||
result = asyncio.run(supervisor())
|
||||
print('Answer:', result)
|
||||
print(f'Answer: {result}')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
@ -5,10 +5,10 @@
|
||||
# https://mail.python.org/pipermail/python-list/2009-February/675659.html
|
||||
|
||||
# tag::SPINNER_PROC_IMPORTS[]
|
||||
from multiprocessing import Process, Event # <1>
|
||||
from multiprocessing import synchronize # <2>
|
||||
import itertools
|
||||
import time
|
||||
from multiprocessing import Process, Event # <1>
|
||||
from multiprocessing import synchronize # <2>
|
||||
|
||||
def spin(msg: str, done: synchronize.Event) -> None: # <3>
|
||||
# end::SPINNER_PROC_IMPORTS[]
|
||||
@ -29,7 +29,7 @@ def supervisor() -> int:
|
||||
done = Event()
|
||||
spinner = Process(target=spin, # <4>
|
||||
args=('thinking!', done))
|
||||
print('spinner object:', spinner) # <5>
|
||||
print(f'spinner object: {spinner}') # <5>
|
||||
spinner.start()
|
||||
result = slow()
|
||||
done.set()
|
||||
@ -39,7 +39,7 @@ def supervisor() -> int:
|
||||
|
||||
def main() -> None:
|
||||
result = supervisor()
|
||||
print('Answer:', result)
|
||||
print(f'Answer: {result}')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -5,9 +5,9 @@
|
||||
# https://mail.python.org/pipermail/python-list/2009-February/675659.html
|
||||
|
||||
# tag::SPINNER_THREAD_TOP[]
|
||||
from threading import Thread, Event
|
||||
import itertools
|
||||
import time
|
||||
from threading import Thread, Event
|
||||
|
||||
def spin(msg: str, done: Event) -> None: # <1>
|
||||
for char in itertools.cycle(r'\|/-'): # <2>
|
||||
@ -26,9 +26,8 @@ def slow() -> int:
|
||||
# tag::SPINNER_THREAD_REST[]
|
||||
def supervisor() -> int: # <1>
|
||||
done = Event() # <2>
|
||||
spinner = Thread(target=spin,
|
||||
args=('thinking!', done)) # <3>
|
||||
print('spinner object:', spinner) # <4>
|
||||
spinner = Thread(target=spin, args=('thinking!', done)) # <3>
|
||||
print(f'spinner object: {spinner}') # <4>
|
||||
spinner.start() # <5>
|
||||
result = slow() # <6>
|
||||
done.set() # <7>
|
||||
@ -37,7 +36,7 @@ def supervisor() -> int: # <1>
|
||||
|
||||
def main() -> None:
|
||||
result = supervisor() # <9>
|
||||
print('Answer:', result)
|
||||
print(f'Answer: {result}')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
Loading…
Reference in New Issue
Block a user