标签: clock

我的硬件上的time.h clock()坏了吗?

我尝试测量在OMAP ZOOM 3430 MDK附带的TMS32064x + DSP上执行一段代码所需的时钟周期.我看一下DSP芯片的"程序员指南",它说DSP支持clock()功能.

我做的很简单,我就是这么做的

start = clock();
for (i=0;i<100;i++){
    /* do something here */
}
stop = clock();
total = stop - start;
Run Code Online (Sandbox Code Playgroud)

然后将"start","stop"和"total"的值放入以前使用ARM处理器分配的共享内存中.然后我只是将它打印到ARM端的屏幕上.

问题是,在我第一次执行时,我总是得到相同的"总"值,然后在我的下一次运行中我总是得到0!"开始"和"停止"值与"总"值一起出现.

最奇怪的是他们似乎遵循了一点点模式!我把输出结果如下:

# ./sampleapp
Total = 63744
Start clock() value = 0x000000f9
Stop  clock() value = 0x0000f9f9
# ./sampleapp 
Total = 4177526784
Start clock() value = 0x00f9f9f9
Stop  clock() value = 0xf9f9f9f9
# ./sampleapp
Total clock cyles = 0
Start clock() value = 0xf9f9f9f9
Stop  clock() value = 0xf9f9f9f9
Run Code Online (Sandbox Code Playgroud)

显然,clock()运行不正常,但我不确定这是因为我做错了什么,还是因为我的硬件不支持这种类型的东西.任何想法为什么会这样?

c c++ embedded clock omap

7
推荐指数
1
解决办法
1767
查看次数

C++中毫秒精确的基准测试?

我真的不想描述,因为我想要在不同的简单功能上做很多不同的小基准测试.对于我的生活,我找不到一种方法来记录C++中的毫秒数,顺便说一句,我正在使用Linux.

你能否建议以毫秒为单位获取系统时钟的方法(如果我找不到简单的方法,我可以用几秒钟来解决......)以及它们包含在哪个标题中?

c++ linux benchmarking clock gettimeofday

7
推荐指数
2
解决办法
6330
查看次数

使用标准库在Python中检索壁垒时间?

如何使用标准库在Python中检索挂壁时间

这个问题,这个问题表明在Linux上类似clock_gettime(CLOCK_MONOTONIC_RAW)/proc/uptime最合适的东西.在Windows上,time.clock()具有所需的效果.

我会使用time.time(),但不保证函数单调(和线性)返回增加时间值.

python time clock standard-library wall-time

7
推荐指数
1
解决办法
1753
查看次数

确定Android手机CPU时钟频率的最可靠方法是什么?

我找到了一些参考资料,最后得到了以下代码:

String[] args = { "/system/bin/cat", "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq" };

cmd = new ProcessBuilder(args);

Process process = cmd.start();
InputStream in = process.getInputStream();
byte[] re = new byte[1024];
while (in.read(re) != -1) {
    System.out.println(new String(re));
    result = result + new String(re);
}
in.close();
Run Code Online (Sandbox Code Playgroud)

上面的代码工作得很好,但不是所有的时间.我得到一些报告称,它报告的频率高于SetCPU在某些手机上设置的最大频率.

有没有更可靠的方法来查找Android手机的时钟速度?

java cpu android frequency clock

7
推荐指数
1
解决办法
2250
查看次数

Sleep()函数用法

这是一个检查Sleep()函数功能的示例pgm.这是一个演示,因为我在我的app开发中使用了这个sleep()和clock()函数.

  // TestTicks.cpp : Defines the entry point for the console application.
  //

  #include "stdafx.h"
  #include<iostream>
  #include<iomanip>
  #include <Windows.h>

  int _tmain(int argc, _TCHAR* argv[])
  {
    int i, i2;
    i = clock();
    //std::cout<<" \nTime before Sleep() : "<<i;
    Sleep(30000);
    i2 = clock();
    //std::cout<<" \nTime After Sleep() : "<<i2;
    std::cout<<"\n Diff : "<<i2 -i;
    getchar();
      return 0;
  }
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我在睡眠功能之前和之后使用clock()来计算时间.由于iam使用sleep(30000),时间差异至少为30000.

我已多次运行此prgm.打印输出为30000,30001,30002.这些都可以.但有时我得到像29999和29997这样的值.这怎么可能,因为我把30000睡眠时钟().

请告诉我原因.

c++ sleep timing clock

7
推荐指数
1
解决办法
3万
查看次数

.NET Thread.Sleep是否受DST(或系统时间)的影响?

我不确定Windows内核如何处理线程计时...

我说的是DST以及影响Windows机器上时间的任何其他事件.

例如,Thread .Sleep将阻塞线程从零到无限毫秒.

如果内核使用与用于一天中的时间相同的"时钟",那么何时

(a)有人手动更改一天中的时间,或
(b)与时间服务器的某些同步更改一天中的时间,或
(c)夏令时开始或结束,并且系统已配置为响应这两个DST事件,
等等,

睡觉的线程是否受到任何影响?即,内核是否以程序员无需的方式处理此类事件?

注意:对于非关键应用程序,这可能是谁关心的?情况.

对于关键应用,知道这个问题的答案是,因为重要的可能是一个必须为这样的异常情况进行编程.

谢谢

编辑:我想到了一个简单的测试,我在LINQPad 4中运行.

测试包括让线程进入睡眠状态,在线程进入睡眠状态的同时启动手动计时器,然后(a)将时间提前一小时,然后进行第二次测试,将时间移回两小时......在两次测试中,睡眠时间都没有受到影响.

底线:使用Thread.Sleep,无需担心影响一天中的时间的事件.

这是琐碎的c#代码:

Int32   secondsToSleep;
String  seconds; 
Boolean inputOkay;
Console.WriteLine("How many seconds?");
seconds   = Console.ReadLine();
inputOkay = Int32.TryParse(seconds, out secondsToSleep); 
if (inputOkay)
{
    Console.WriteLine("sleeping for {0} second(s)", secondsToSleep);
    Thread.Sleep(secondsToSleep * 1000);
    Console.WriteLine("i am awake!");
}
else Console.WriteLine("invalid input:  [{0}]", seconds);
Run Code Online (Sandbox Code Playgroud)

.net c# windows kernel clock

7
推荐指数
1
解决办法
582
查看次数

当将来设置客户端时钟时,PHP会话立即到期

我开发了这个PHP Web应用程序,现在运行了几个月.突然,其中一个用户抱怨他能够登录,但是一旦他点击任何按钮就会终止会话!同样的问题发生在不同的浏览器上.

经过一些测试后,我意识到每次用户点击任何按钮时都会创建一个全新的会话ID,这可能是因为原始会话已过期.

无论出于何种原因,我都瞥了一眼用户的电脑时钟......惊喜!他的时钟在未来3个月!我不知道这件事是否与失败有任何关系,但我确实修好了时钟.它仍然没有用.我删除了所有的cookie.依然没有.所以我重新启动了浏览器 - 然后它再次开始工作!

我得到的关于这个问题的最接近的信息是Shimon Amit对这个问题的回答.好,现在我知道时钟"错误配置"是原因.问题是......我无法控制每个客户的计算机时钟.他们中的一些人将来可能会设置他们的计算机时钟.

我的问题:这有什么解决方案吗?任何诡计?我不希望客户面对这样的错误,因为他们可能会发现它"跛脚"并打破他们对应用程序的信任,即使这不是我的错(在某种意义上).

php session clock

7
推荐指数
2
解决办法
1878
查看次数

CPU中是否有计时器

我们在代码中使用计时器,我只是对它的实际实现感到好奇,是否有计时器

CPU逻辑电路或CPU外部,例如,外部时钟或类似的东西.

如果没有,那么地狱的计时器在哪里?请帮帮我,不需要任何详细的解释

如何制作硬件定时器,只需关注我们所拥有的硬件板上的定时器.

提前致谢 .

hardware cpu timer clock

7
推荐指数
2
解决办法
5349
查看次数

Arduino + OV7670 - 无FIFO - 读取快照

我知道有很多关于OV7670的互联网(例如http://forum.arduino.cc/index.php?topic=159557.0),我读了很多关于它的内容,但似乎缺少了一些内容.

首先,我看看我们如何从相机逐像素地读取以构建矩形600 X 480图像的方式,考虑到文档中描述的HREF,VSYNCH和PCLOCK,这很容易理解:http:/ /www.voti.nl/docs/OV7670.pdf.我理解XCLOCK是一个输入,我需要将OV7670作为一种循环控制器给出,RESET可以重置它.

所以在这一点上,我认为通过连接以下引脚可以覆盖这种相机的功能:

  • D0..D7 - 用于连接到arduino数字引脚0到7的数据(像素)作为arduino板上的INPUT
  • XCLK - 用于连接到arduino数字引脚8的相机时钟,作为来自arduino板的OUTPUT
  • PCLK - 用于连接到arduino数字引脚9的像素时钟,作为arduino板上的INPUT
  • HREF - 定义何时线路开始/结束连接到arduino数字引脚10作为arduino板上的INPUT
  • VSYCH - 定义帧何时开始/结束连接到arduino数字引脚11作为arduino板上的INPUT
  • GRD - 与arduino GRD连接的地面
  • 3V3 - 3,3 INPUT连接到arduino 3,3v
  • 重置 - 连接到arduino RESET
  • PWDN - 连接到arduino GRD

从我的角度来看,这种方法的实现类似于:代码:

for each loop function do
   write high to XCLK

   if VSYNCH is HIGH 
      return;

   if HREF is LOW 
      return;

   if lastPCLOCK was HIGH and currentPCLOCK is LOW 
      readPixelFromDataPins();

end for
Run Code Online (Sandbox Code Playgroud)

readPixelFromDataPins()基本上只读了第一个字节(因为我只是测试我是否能从相机中读取内容),它的编写如下:

码:

byte readPixelFromDataPins() { …
Run Code Online (Sandbox Code Playgroud)

camera arduino clock

7
推荐指数
1
解决办法
3万
查看次数

Java 8 LocalDateTime.now()仅提供毫秒精度

在Java 8中可以获得微秒吗?Java 8 LocalDateTime类有一个.getNano()方法可以返回nanoseconds,但在Linux(Ubuntu)和OS X(10.11.5)上它只返回milliseconds(当我运行它返回时301000000等于301 milliseconds)并且我真的需要能够获得microseconds.

我知道有可能在我的计算机上获取nanoseconds(因此得到microseconds它),因为javascript方法process.hrtime()返回一个精确的值.

在任何人开始精确与准确的论证之前,我知道线程之间的纳秒是完全不可靠的,不应该用于比较.

编辑:

要清楚,LocalDateTime该类是Java 8类的一部分java.time.

更新:

所以我意识到Javascript process.hrtime就像Java一样System.nanoTime(),实际上与挂钟没有关系,因为它是两个语言之间不同的任意值.

新问题:有没有办法可以解析这些值的时钟时间?IE浏览器.如果我System.currentTimeMillis()System.nanoTime(),和比较,另一组这些值的我能得到第二组值的实际时间?

我的问题是我需要使用Java和Javascript进行日志记录,并且需要在两者之间都有一致的微秒字段.

java clock

7
推荐指数
1
解决办法
6268
查看次数