Mem (computing)

In computing, mem is a measurement unit for the number of memory accesses used or needed by a process, function, instruction set, algorithm or data structure. Mem has applications in computational complexity theory, computing efficiency, combinatorial optimization, supercomputing, computational cost (algorithmic efficiency) and other computational metrics.

Example usage, when discussing processing time of a search tree node, for finding 10 × 10 Latin squares: "A typical node of the search tree probably requires about 75 mems (memory accesses) for processing, to check validity. Therefore the total running time on a modern computer would be roughly the time needed to perform $2$ mems." (Donald Knuth, 2011, The Art of Computer Programming, Volume 4A, p. 6).

Reducing mems as a speed and efficiency enhancement is not a linear benefit, as it trades off increases in ordinary operations costs.

PFOR compression
This optimization technique also is called PForDelta

Although lossless compression methods like Rice, Golomb and PFOR are most often associated with signal processing codecs, the ability to optimize binary integers also adds relevance in reducing MEMS tradeoffs vs. operations. (See Golomb coding for details).