/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ /* * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana * University Research and Technology * Corporation. All rights reserved. * Copyright (c) 2004-2005 The University of Tennessee and The University * of Tennessee Research Foundation. All rights * reserved. * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, * University of Stuttgart. All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. * All rights reserved. * Copyright (c) 2015 Los Alamos National Security, LLC. All rights * reserved. * $COPYRIGHT$ * * Additional copyrights may follow * * $HEADER$ */ /** * @file * * High resolution timer / cycle counter * * High resolution timer / cycle counter interface. This interface is * intended to hide the system-dependent nature of timers that provide * higher resolution and lower calling cost than gettimeofday(). * Unlike most component interfaces, there should only ever be one * component available to be built on a particular platform. * Therefore, a number of #defines are available to determine how well * the platform supports high resolution timers: * *
OPAL_TIMER_CYCLE_NATIVEWhether * opal_timer_base_get_cycle() is implemented directly or computed * from some other data (such as a high res timer)
OPAL_TIMER_CYCLE_SUPPORTEDWhether * opal_timer_base_get_cycle() is supported on the current * platform.
OPAL_TIMER_USEC_SUPPORTEDWhether * opal_timer_base_get_usec() is supported on the current * platform or implemented on top of gettimeofday(), which * may be unsuitable for some uses. *