Jump to content

Chunking (computing)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Neilc (talk | contribs) at 12:06, 10 November 2004. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The term chunking is used in computer programming in multiple ways:

In memory management

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 request. 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

Chunking is also a specific feature of the HTTP 1.1 protocol. Here, oddly enough, 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."