Abstract: In a computer implemented method for encoding digital values that are arranged in a successively increasing order, a delta value is determined for each pair of immediately successive values. The delta values are the differences between the pair of immediately successive values. For each delta value which can be encoded as a single byte, a logical zero is stored in the least significant bit of the single byte, and the delta value is stored in the most significant bits of the single byte. Otherwise, for each delta value which must be encoded as a plurality of bytes, a logical one is stored in the least significant bit of the first byte of the plurality of bytes, and a first portion of the delta value is stored in the most significant bits of the first byte. In this case, a logical zero is stored in the most significant bit of the next byte, and a next portion of the delta value is stored in the least significant bits of the next byte.
Abstract: A program for monitoring computer system performance includes a collection of source code modules in the form of a high level language. Each of the source code modules is compiled into a corresponding object code module. The object code modules are translated into a single linked code module in the form of a machine independent register transfer language. The linked code module is partitioned into basic program components. The basic program components include procedures, basic blocks within procedures, and instructions within basic blocks. Fundamental instrumentation routines identify, locate, and modify specific program components to be monitored. The modified linked code module is converted to machine executable code to be executed in the computer system so that performance data can be collected while the program is executing in the computer.