std::clock

来自cppreference.com
< cpp‎ | chrono‎ | c

 
 
实用工具库
类型的支持 (basic types, RTTI, type traits)
动态内存管理
错误处理
程序实用工具
可变参数函数
日期和时间
函数对象
initializer_list(C++11)
bitset
hash(C++11)
关系运算符
原文:
Relational operators
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
rel_ops::operator!=
rel_ops::operator>
rel_ops::operator<=
rel_ops::operator>=
双和元组
原文:
Pairs and tuples
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
pair
tuple(C++11)
piecewise_construct_t(C++11)
piecewise_construct(C++11)
掉期,远期和移动
原文:
Swap, forward and move
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
swap
forward(C++11)
move(C++11)
move_if_noexcept(C++11)
declval(C++11)
 
 
C-风格的日期和时间工具
功能
原文:
Functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
时间操作
原文:
Time manipulation
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
difftime
time
clock
格式转换
原文:
Format conversions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
asctime
ctime
strftime
wcsftime
gmtime
localtime
mktime
常量
原文:
Constants
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
CLOCKS_PER_SEC
类型
原文:
Types
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
tm
time_t
clock_t
 
在头文件 <ctime> 中定义
std::clock_t clock();
返回近似使用的处理器时间的过程,因为一个实现定义的时代的开始程序的执行。将结果转换到秒的值除以它的CLOCKS_PER_SEC。因为开始的std::clock时代不具有一致的程序的开始,只由不同的呼叫返回到std::clock两个值之间的差异是有意义的。如果是由其他进程共享CPU,std::clock时间可能会提前比挂钟慢。如果当前进程是多线程的多个执行核心是,std::clock时间可能提前的速度比挂钟.....
原文:
Returns the approximate processor time used by the process since the beginning of an implementation-defined era related to the program's execution. To convert result value to seconds divide it by CLOCKS_PER_SEC. Because the beginning of the std::clock era does not have to coincide with the start of the program, only the difference between two values returned by different calls to std::clock is meaningful. If the CPU is shared by other processes, std::clock time may advance slower than wall clock. If the current process is multithreaded and more than one execution core is available, std::clock time may advance faster than wall clock.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

目录

[编辑] 参数

(无)
原文:
(none)
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 返回值

至今(clock_t)(-1)如果该信息不可用程序所使用的处理器时间.
原文:
Processor time used by the program so far or (clock_t)(-1) if that information is unavailable.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 注释

在POSIX兼容的系统上,clock_gettime与时钟编号CLOCK_PROCESS_CPUTIME_ID,为您提供更好的分辨率.
原文:
On POSIX-compatible systems, clock_gettime with clock id CLOCK_PROCESS_CPUTIME_ID offers better resolution.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
在某些实现中返回的值的clock()环绕。例如,在32位std::clock_t的机器,它把,后2147秒或36分钟.
原文:
The value returned by clock() may wrap around on some implementations. For example, on a machine with 32-bit std::clock_t, it wraps after 2147 seconds or 36 minutes.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
clock()并不需要是线程安全的.
原文:
clock() is not required to be thread-safe.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 为例

这个例子演示了clock()的时间和实际时间之间的差异
原文:
This example demonstrates the difference between clock() time and real time
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

#include <iostream>
#include <chrono>
#include <ctime>
#include <thread>
 
// the function f() does some time-consuming work
void f()
{
    volatile double d;
    for(int n=0; n<10000; ++n)
       for(int m=0; m<10000; ++m)
           d += d*n*m;
}
 
int main()
{
    std::clock_t c_start = std::clock();
    auto t_start = std::chrono::high_resolution_clock::now();
    std::thread t1(f); 
    std::thread t2(f); // f() is called on two threads
    t1.join();
    t2.join();
    std::clock_t c_end = std::clock();
    auto t_end = std::chrono::high_resolution_clock::now();
 
    std::cout << "CPU time used: "
              << 1000.0 * (c_end-c_start) / CLOCKS_PER_SEC
              << " ms\n";
    std::cout << "Wall clock time passed: "
              << std::chrono::duration_cast<std::chrono::milliseconds>(t_end - t_start).count()
              << " ms\n";
}

输出:

CPU time used: 1520 ms
Wall clock time passed: 769 ms

[编辑] 另请参阅

一个time_t对象转换为文本表示
原文:
converts a time_t object to a textual representation
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]
返回当前时间的划时代的时间,因为系统
原文:
returns the current time of the system as time since epoch
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]
C documentation for clock