diff --git a/README.md b/README.md index 09b5bfa..ff57f86 100644 --- a/README.md +++ b/README.md @@ -2604,9 +2604,7 @@ Line # Hits Time Per Hit % Time Line Contents 2 def main(): 3 1 955.0 955.0 43.7 a = [*range(10000)] 4 1 1231.0 1231.0 56.3 b = {*range(10000)} -``` -```text $ python3 -m memory_profiler test.py Line # Mem usage Increment Line Contents ======================================================= @@ -2627,6 +2625,7 @@ drawer = cg.output.GraphvizOutput(output_file=filename) with cg.PyCallGraph(drawer): ``` +* **The "latest and greatest" profiler that can also monitor GPU usage is called [Scalene](https://github.com/plasma-umass/scalene).** NumPy diff --git a/index.html b/index.html index 66f8afd..d23874b 100644 --- a/index.html +++ b/index.html @@ -54,7 +54,7 @@
- +
@@ -2133,8 +2133,8 @@ Line # Hits Time Per Hit % Time Line Contents 2 def main(): 3 1 955.0 955.0 43.7 a = [*range(10000)] 4 1 1231.0 1231.0 56.3 b = {*range(10000)} - -
$ python3 -m memory_profiler test.py
+
+$ python3 -m memory_profiler test.py
 Line #         Mem usage      Increment   Line Contents
 =======================================================
      1        37.668 MiB     37.668 MiB   @profile
@@ -2152,6 +2152,9 @@ drawer = cg.output.GraphvizOutput(output_file=filename)
 
+

#NumPy

Array manipulation mini-language. It can run up to one hundred times faster than the equivalent Python code. An even faster alternative that runs on a GPU is called CuPy.

# $ pip3 install numpy
 import numpy as np
 
@@ -2916,7 +2919,7 @@ $ pyinstaller script.py --add-data '<path>:.'
- +
diff --git a/pdf/remove_links.py b/pdf/remove_links.py index adf42cf..d2f5fae 100755 --- a/pdf/remove_links.py +++ b/pdf/remove_links.py @@ -22,6 +22,7 @@ MATCHES = { 'Bools will be stored and returned as ints and dates as ISO formatted strings.': 'Bools will be stored and returned as ints and dates as ISO formatted strings (p. 9).', 'An object with the same interface called ProcessPoolExecutor provides true parallelism by running a separate interpreter in each process. All arguments must be pickable.': 'An object with the same interface called ProcessPoolExecutor provides true parallelism by running a separate interpreter in each process. All arguments must be pickable (p. 25).', 'Asyncio module also provides its own Queue, Event, Lock and Semaphore classes.': 'Asyncio module also provides its own Queue, Event, Lock and Semaphore classes (p. 30).', + 'The "latest and greatest" profiler that can also monitor GPU usage is called Scalene.': 'The "latest and greatest" profiler that can also monitor GPU usage is called Scalene.', }