liveBook · Manning

Memory bound

As explained in Fast Python: High performance techniques for large datasets

A memory-bound workload is one whose performance is limited primarily by the rate of accessing or transferring data rather than by computational throughput.

A memory-bound workload is limited more by accessing or transferring data than by computational throughput. Profile before optimizing: Python data-structure allocations and I/O can contribute to memory or speed bottlenecks. section 2.0

In distributed processing, data movement can also constrain progress: a Dask maximum requires partition results to be transferred and combined in a single task. This is a parallelism bottleneck, not necessarily a memory-bound workload. section 10.2.3

How Fast Python: High performance techniques for large datasets covers it

How deep it goes
Connects profiling with Python memory costs and distributed data movement, but does not detail memory-hardware internals.
Examples
Uses climate-data ingestion as a Python performance problem and a Dask partition maximum to illustrate data transfer.
What you can do after
Diagnose likely performance bottlenecks by profiling Python code and inspecting Dask task graphs.
How it connects
Links memory bottlenecks to profiling, Python data structures, I/O, and data transfer in distributed processing.

Also explained in

Compare how 11 books explain memory bound →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Fast Python: High performance techniques for large datasets. The section links point to the parts of the book it draws on.