46fo
V2EX  ›  C

想问 macOS 上 clock()函数的问题。

  •  
  •   46fo · Nov 19, 2018 · 2722 views
    This topic created in 2760 days ago, the information mentioned may be changed or developed.
    clock_t t = clock();
    sleep(10);
    t = clock() - t;
    printf ("It took me %d clicks (%f seconds).\n",t,((float)t)/CLOCKS_PER_SEC);

    在 macOS 上为什么不是接近于 10 而是 4.0-4.5 之间?
    就算不除以 CLOCKS_PER_SEC 也不是接近于 10 的数,在 QT 和 xcode 上测都是这样。
    4 replies    2018-11-21 20:55:22 +08:00
    choury
        1
    choury  
       Nov 19, 2018   ❤️ 1
    你要明白,sleep 时进程会休眠的,不会占用 cpu 时间的
    46fo
        2
    46fo  
    OP
       Nov 20, 2018
    @choury 好像说的对 我稍后试下
    46fo
        3
    46fo  
    OP
       Nov 21, 2018
    @choury 试了在 Windows 上是运行时间,Linux 上市占用 cpu 时间。
    choury
        4
    choury  
       Nov 21, 2018 via Android   ❤️ 1
    @xdeng 是的,windows 的这个函数实现的有 bug,可以看文档
    https://msdn.microsoft.com/en-us/library/4e2ess30.aspx?f=255&MSPPError=-2147217396
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5570 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 07:01 · PVG 15:01 · LAX 00:01 · JFK 03:01
    ♥ Do have faith in what you're doing.