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










