Sorry, your browser does not support frames and I have not the time to
keep two different versions (with and without frames) consistent.
A performance counter is that part of a modern microprocessor that
measures and gathers performance-relevant events of the microprocessor
without affecting the performance of a program. For example, one
performance counter might count the number of level 1 data cache
misses while another performance counter might count the number of
data reads or data writes. PCL - the Performance Counter Library - is
a software library to access hardware performance counters on many
microprocessors through a uniform interface and with low
overhead. Language bindings exist for C, C++, Fortran, and Java. See
here for some usage examples. PCL is intended to be used by the expert
application programmer who wishes to do detailed analysis on program
performance, and it is intended to be used by tool writers which need
a common platform to base their work on. The application interface
Query for for functionality, start and stop of performance counting and
reading out the values of the performance counters.
Nested calls to the functions are possible (with the same events)
therefore allowing to do hierarchical performance measurements on
sections and subsections of a program.
Performance counting in user mode, system, and user-or-system
mode can be distinguished.
All interface functions are callable from C, C++, Fortran, and Java.
Supported systems are:
Pentium / Pentium MMX / PPro /
Pentium II / Pentium III / Pentium 4 Linux 2.0.x, 2.1.x, 2.2.x, 2.4.x
Alpha 21164, Alpha 21264 True 64 (aka Digital Unix)
Alpha 21164 CRAY Unicos/mk on T3E's
R10000, R12000 SGI IRIX 6.x
UltraSPARC I/II,III Solaris 2.x and above
PowerPC 604,604e,POWER3,POWER3-II AIX 4.3