SGI IRIX corner
(Click on Stop or type Esc to stop this animation...)
[ Parallel memory allocators ]
[ Fast timer ]
[ Thread identifier ]
[ Perfex scripts ]
[ TLB misses ]
To our knowledge, there exists two parallel allocators running on
IRIX:
We have somehow enhanced the Linux version, and we will make it
available when it will be cleaned.
The following function returns the number of nanoseconds spent
since the last reboot of the machine, without any overhead.
#include <time.h>
__uint64_t readTSC (void)
{
struct timespec tp;
clock_gettime (CLOCK_SGI_CYCLE, &tp);
return (__uint64_t)(tp.tv_sec * (__uint64_t)1000000000) + (__uint64_t)tp.tv_nsec;
}
For same kinds of timers for other architectures, please see Eugen Dedu's page.
A standard API for "accessing hardware performance counters
available on most modern microprocessors" is now available at Performance Data Standard and API.
When using m_fork(), the m_get_myid() function
returns the thread identifier (tid). Unfortunately, this call is
time consuming. This function can be advantageously replaced with
the get_tid() macro which is defined in <task.h> as
(PRDALIB->t_tid).
Warranty disclaimer (from GNU GENERAL PUBLIC LICENSE)
11. Because the program is licensed free of charge, there is
no warranty for the program, to the extent permitted by
applicable law. Except when otherwise stated in writing the
copyright holders and/or other parties provide the program "as
is" without warranty of any kind, either expressed or implied,
including, but not limited to, the implied warranties of
merchantability and fitness for a particular purpose. The entire
risk as to the quality and performance of the program is with
you. Should the program prove defective, you assume the cost of
all necessary servicing, repair or correction.
12. In no event unless required by applicable law or agreed
to in writing will any copyright holder, or any other party who
may modify and/or redistribute the program as permitted above,
be liable to you for damages, including any general, special,
incidental or consequential damages arising out of the use or
inability to use the program (including but not limited to loss
of data or data being rendered inaccurate or losses sustained by
you or third parties or a failure of the program to operate with
any other programs), even if such holder or other party has been
advised of the possibility of such damages.
Xavier Cavin
(if you are lost, click home)
Last modified: Fri Nov 9 11:12:27 MST 2001