Chunking (computing)

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In computer programming, chunking has multiple meanings.

In memory management[edit]

Typical modern software systems allocate memory dynamically from structures known as heaps. Calls are made to heap-management routines to allocate and free memory. Heap management involves some computation time and can be a performance issue. Chunking refers to strategies for improving performance by using special knowledge of a situation to aggregate related memory-allocation requests. For example, if it is known that a certain kind of object will typically be required in groups of eight, instead of allocating and freeing each object individually, making sixteen calls to the heap manager, one could allocate and free an array of eight of the objects, reducing the number of calls to two.

In HTTP message transmission[edit]

Chunking is a specific feature of the HTTP 1.1 protocol. Here, the meaning is the opposite of that used in psychology and in memory management. It refers to a facility that allows inconveniently large messages to be broken into conveniently-sized smaller "chunks."