task_stats.inl
来自「这是广泛使用的通信开源项目,对于大容量,高并发的通讯要求完全能够胜任,他广泛可用」· INL 代码 · 共 55 行
INL
55 行
//Task_Stats.inl,v 1.4 2003/06/24 00:18:12 pradeep Exp
#include "ace/High_Res_Timer.h"
ACE_INLINE double
Task_Stats::diff_sec (ACE_UINT64 before, ACE_UINT64 after)
{
double seconds =
#if defined ACE_LACKS_LONGLONG_T
(after - before) / gsf_;
#else /* ! ACE_LACKS_LONGLONG_T */
ACE_static_cast (double,
ACE_UINT64_DBLCAST_ADAPTER((after - before) / gsf_));
#endif /* ! ACE_LACKS_LONGLONG_T */
seconds /= ACE_HR_SCALE_CONVERSION;
return seconds;
}
ACE_INLINE ACE_UINT32
Task_Stats::diff_usec (ACE_UINT64 before, ACE_UINT64 after)
{
// convert to microseconds
#if !defined ACE_LACKS_LONGLONG_T
ACE_UINT32 elapsed_microseconds = ACE_UINT32((after - before) / gsf_);
#else /* ! ACE_LACKS_LONGLONG_T */
ACE_UINT32 elapsed_microseconds = (after - before) / gsf_;
#endif /* ! ACE_LACKS_LONGLONG_T */
#if defined (ACE_WIN32)
elapsed_microseconds*=1000; // convert to uSec on Win32
#endif /* ACE_WIN32 */
return elapsed_microseconds;
}
ACE_INLINE int
Task_Stats::sample (ACE_UINT64 inv_start_time, ACE_UINT64 inv_end_time)
{
if (this->samples_count_ >= this->max_samples_)
{
ACE_DEBUG ((LM_DEBUG, "Task_Stats::sample ret -1\n"));
return -1;
}
this->time_inv_[this->samples_count_] = inv_start_time;
this->time_exec_[this->samples_count_] = inv_end_time;
this->samples_count_++;
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?