46fo
V2EX  ›  C

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

  •  
  •   46fo · Nov 19, 2018 · 2724 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   ·   5277 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 08:34 · PVG 16:34 · LAX 01:34 · JFK 04:34
    ♥ Do have faith in what you're doing.