Knowledge-check solutions

Answers

  1. B — the GIL normally permits only one thread to execute Python bytecode at a time.

  2. A — a measured, stable numerical Python loop can benefit from native types and operations.

  3. C — delayed calls construct a lazy task graph; execution begins at compute().

  4. A — separate processes have separate interpreters and GILs.

  5. B — the hot Cython loop explicitly uses with nogil.

  6. A — repeated inner compute() calls fragment the graph into small executions.

  7. C — a reproducible claim needs the workload, baseline, correctness, hardware, and configuration.