当我减去 endTime - startTime 时,我的 macbook pro 上的 boost chrono 库 vs1.51 返回负时间。如果您打印时间点,您会看到结束时间早于开始时间。这怎么可能发生?
typedef boost::chrono::steady_clock clock_t;
clock_t clock;
// Start time measurement
boost::chrono::time_point<clock_t> startTime = clock.now();
short test_times = 7;
// Spend some time...
for ( int i=0; i<test_times; ++i )
{
xnodeptr spResultDoc=parser.parse(inputSrc);
xstring sXmlResult = spResultDoc->str();
const char16_t* szDbg = sXmlResult.c_str();
BOOST_CHECK(spResultDoc->getNodeType()==xnode::DOCUMENT_NODE && sXmlResult == sXml);
}
// Stop time measurement
boost::chrono::time_point<clock_t> endTime = clock.now();
clock_t::duration elapsed( endTime - startTime);
std::cout << std::endl;
std::cout << "Now time: " << clock.now() << std::endl;
std::cout << "Start time: " << startTime << std::endl;
std::cout << "End time: " << endTime << std::endl;
std::cout << std::endl << "Total Parse time: " << elapsed << std::endl;
std::cout << "Avarage Parse time per iteration: " << (boost::chrono::duration_cast<boost::chrono::milliseconds>(elapsed) / test_times) << std::endl;
我尝试了不同的时钟,但没有区别。
任何帮助,将不胜感激!
编辑:忘记添加输出:
现在时间:自启动后 1 纳秒
开始时间:自启动以来 140734799802912 纳秒
结束时间:自启动以来 140734799802480 纳秒
总解析时间:-432纳秒平均每次迭代解析时间:0 毫秒