greenplumn CTimerUser 源码

  • 2022-08-18
  • 浏览 (247)

greenplumn CTimerUser 代码

文件路径:/src/backend/gporca/libgpos/src/common/CTimerUser.cpp

//---------------------------------------------------------------------------
//	Greenplum Database
//	Copyright (C) 2011 EMC Corp.
//
//	@filename:
//		CTimerUser.cpp
//
//	@doc:
//		Implementation of wall clock timer
//---------------------------------------------------------------------------

#include "gpos/common/CTimerUser.h"

#include "gpos/base.h"
#include "gpos/common/syslibwrapper.h"

using namespace gpos;


//---------------------------------------------------------------------------
//	@function:
//		CTimerUser::ElapsedUS
//
//	@doc:
//		User time in micro-seconds since object construction
//
//---------------------------------------------------------------------------
ULONG
CTimerUser::ElapsedUS() const
{
	RUSAGE rusage;
	syslib::GetRusage(&rusage);

	ULONG diff = (ULONG)(((rusage.ru_utime.tv_sec - m_rusage.ru_utime.tv_sec) *
						  GPOS_USEC_IN_SEC) +
						 (rusage.ru_utime.tv_usec - m_rusage.ru_utime.tv_usec));

	return diff;
}


//---------------------------------------------------------------------------
//	@function:
//		CTimerUser::Restart
//
//	@doc:
//		Restart timer
//
//---------------------------------------------------------------------------
void
CTimerUser::Restart()
{
	syslib::GetRusage(&m_rusage);
}


// EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn CAutoTimer 源码

greenplumn CBitSet 源码

greenplumn CBitSetIter 源码

greenplumn CBitVector 源码

greenplumn CDebugCounter 源码

greenplumn CHeapObject 源码

greenplumn CMainArgs 源码

greenplumn CRandom 源码

greenplumn CRefCount 源码

greenplumn CStackDescriptor 源码

0  赞