David Blume commited on 2021-01-09 23:53:23
Showing 2 changed files, with 5 additions and 3 deletions.
... | ... |
@@ -12,10 +12,12 @@ from typing import Union, Optional, Tuple, List, Callable |
12 | 12 |
|
13 | 13 |
|
14 | 14 |
def profile(sort: Union[Tuple, List, str]='cumulative', |
15 |
- lines_to_print: Union[int, float]=20, |
|
15 |
+ lines_to_print: float=20, |
|
16 | 16 |
strip_dirs: bool=True, |
17 | 17 |
filename: Optional[str]=None) -> Callable: |
18 | 18 |
"""A decorator which profiles a callable. |
19 |
+ If lines_to_print is an int, it's the number of lines. If it's a float |
|
20 |
+ then it's the percentage of total lines. (Eg., .2 = 20%) |
|
19 | 21 |
Output goes to stdout if filename is None, otherwise to filename.""" |
20 | 22 |
def outer(fun: Callable) -> Callable: |
21 | 23 |
def inner(*args, **kwargs): |
... | ... |
@@ -43,5 +45,5 @@ def profile(sort: Union[Tuple, List, str]='cumulative', |
43 | 45 |
if hasattr(sort, '__call__'): |
44 | 46 |
fun = sort |
45 | 47 |
sort = 'cumulative' |
46 |
- outer = outer(fun) |
|
48 |
+ outer = outer(fun) # type: ignore |
|
47 | 49 |
return outer |
... | ... |
@@ -38,7 +38,7 @@ def sitesize(url: str) -> Tuple[str, Union[int, str]]: |
38 | 38 |
|
39 | 39 |
def run() -> None: |
40 | 40 |
# Network bound: Use max(); CPU bound: Use min() |
41 |
- pool = ThreadPool(max(len(sites), os.cpu_count())) |
|
41 |
+ pool = ThreadPool(max(len(sites), os.cpu_count() is None and 1 or os.cpu_count())) # type: ignore |
|
42 | 42 |
for result in pool.imap_unordered(sitesize, sites): |
43 | 43 |
print(result) |
44 | 44 |
|
45 | 45 |