Exact measurement is possible because of hardware counters (including counters incrementing on a time tick) provided in modern processors, which are incremented whenever an event is happening. As we want to attribute events to code regions, without the counters, we would have to handle every event by incrementing a counter for the current code region ourself. Doing this in software is, of course, not possible; but, on the assumption that the event distribution over source code is similar when looking only at every n-th event instead of every event, a measurement method whose overhead is tunable has been developed: it is called Sampling. Time Based Sampling (TBS;) uses a timer to regularly look at the program counter to create a histogram over the program code. Event Based Sampling (EBS;) exploits the hardware counters of modern processors, and uses a mode where an interrupt handler is called on counter underflow to generate a histogram of the corresponding event distribution: in the handler, the event counter is always reinitialized to the n of the sampling method. The advantage of sampling is that the code does not have to be changed, but it is still a compromise: the above assumption will be more correct if n is small, but the smaller the n, the higher the overhead of the interrupt handler.
A medida exacta é posíbel debido á existencia de contadores por hardware (incluíndo os contadores que se incrementan cun golpe de reloxio) nos procesadores modernos, se se incrementan sempre que acontece un evento. Xa que queremos atribuir eventos a rexións de código, sen os contadores deberíamos xestionar cada evento aumentando por nós mesmos un contador para a rexión de código. Facer isto mediante sóftware non é posíbel; pero, se asumimos que a distribuición dos eventos sobre o código fonte é similar cando se examina o n- ésimo evento no canto de a cada evento, podemos desenvolver un método de medida cuxo custo sexa axustábel: é a denominada Mostraxe. A mostraxe baseada en tempo (TBS) usa un cronómetro para comprobar periodicamente o contador do programa e criar un histograma sobre o código do programa. A mostraxe baseada en eventos (EBS) aproveita os contadores hardware dos procesadores modernos, e usa un modo no que se chama un xestor de interrupcións para xerar un histograma da distribución de eventos correspondente: no xestor, a conta de eventos sempre é inicializada de novo para o "n" do método de mostraxe. A avantaxe da mostraxe é que as fontes non deben ser tocadas, pero aínda así é un compromiso: a suposición de riba será máis correcta se "n" é pequeno, pero canto menor sexa "n", maior será a sobrecarga do xestor de interrupcións.