liveBook · Manning

High-performance computing

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

High-performance computing is the use of powerful computing systems and parallel, distributed, or specialized techniques to execute computationally intensive workloads efficiently.

High-performance data processing may outgrow a single computer, making clusters and network-aware design necessary. Distributed setups bring challenges such as sharing data across machines, managing remote processes, and dealing with network and filesystem latency. section 1.2.2

Network choices trade performance against reliability and overhead:

  • Binary payloads can be more efficient than JSON, and direct TCP sockets can replace HTTP where speed and latency matter. section 1.2.2
  • UDP can reduce overhead when the extra reliability of TCP is unnecessary. section 1.2.2

Python supports high-performance data work through its libraries and ecosystem, despite performance costs associated with dynamic typing and garbage collection. A simple way to compare implementations is to time matrix multiplication in CPython, PyPy, and JavaScript. section 1.3

Figure 1.3 API calls via the network stack. Understanding the alternatives available for network communication can dramatically increase the speed of internet-based applications.

Use the network-stack diagram to locate where communication choices can affect application speed. section 1.2.2

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

How deep it goes
Connects distributed-system concerns and network-stack choices with a simple exercise comparing Python implementations.
Examples
Compares JSON with binary payloads, HTTP with TCP sockets, UDP with TCP, and matrix-multiplication timings across implementations.
What you can do after
Evaluate network transport trade-offs and compare Python implementations by timing matrix multiplication.
How it connects
Connects distributed computing, network protocols, Python performance, and parallelism.

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.