gpt4 book ai didi

time - 快速的跨平台计时器?

转载 作者:行者123 更新时间:2023-12-04 15:04:07 25 4
gpt4 key购买 nike

我希望通过添加一些启发式方法来改进 D 垃圾收集器,以避免不太可能导致大量释放的垃圾收集运行。我想补充的一种启发式方法是,每 X 时间(可能每秒左右)运行一次 GC 不应超过一次。为此,我需要一个具有以下属性的计时器:

  • 它必须能够以最小的开销捕获正确的时间。调用 core.stdc.time花费的时间大致相当于一个小的内存分配,所以这不是一个好的选择。
  • 理想情况下,应该是跨平台的(OS 和 CPU),以便于维护。
  • 超高分辨率并不是很重要。如果时间精确到大约 1/4 秒,那就足够了。
  • 必须在多线程/多 CPU 上下文中工作。 x86 rdtsc指令行不通。

  • 编辑:普通的旧 C 函数 clock()似乎足够快。但是,这里溢出是一个问题。在 32 位 Windows 和 Linux 上, clock_t定义为 32 位有符号整数。溢出时是变成负数还是 clock()函数使用额外的逻辑使其换行为零?如果它包装为零,那么这将起作用。如果它包装为负数(也代表错误代码等),那么它将无法工作。

    编辑#2:无论如何,我尝试了启发式方法,使用 clock()并忽略溢出问题,作为测试。它的性能太差,不值得进一步研究。

    最佳答案

    Ideally, should be cross-platform (both OS and CPU), for maintenance simplicity.



    我认为这使您可以在标准 C 库中找到任何内容。

    也许 clock ?

    关于time - 快速的跨平台计时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5072422/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com