- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有时我需要一种适当的方法来从我的用户空间应用程序中测量纳秒级的性能,以便在我的测量中包含系统调用延迟。我读了很多旧的(10yo)文章说它不稳定,他们会把它从用户空间中删除。
最佳答案
它与主板上的时钟晶体一样稳定,但它被锁定到引用频率(取决于 CPU 型号),而不是当前的 CPU 核心时钟频率。这种变化是在大约 15 年前(constant_tsc CPU 特性)使其可用于挂钟计时而不是循环计数。
例如,Linux VDSO user-space implementation的 clock_gettime
使用 rdtsc
和一个比例因子,用于计算内核定时器中断更新的不太频繁更新的时间戳的偏移量。 (VDSO = 内核拥有的代码和数据页,以只读方式映射到用户空间进程。)
What the best practices to use TSC in the user space nowadays?
rdpmc
(使用适当编程和设置的硬件性能计数器,以便允许用户空间读取它。)或用户
perf
或使用硬件性能计数器的其他方式。
rdtsc
直接或间接通过包装库。
std::chrono
使用它。或 libc
clock_gettime
由于VDSO,它不需要实际进入内核。
rdtsc
之前/之后需要 lfence 的事实如果您想在读取内部 TSC 之前等待较早的代码完成执行。
and they are gonna remove it from the user space.
rdtsc
记录在 Intel 和 AMD 的 x86 手册中,例如
Intel's vol.2 entry for it .有一个 CPU 功能可以让内核为用户空间禁用 RDTSC(TSD = TimeStamp Disable),但它通常不在 Linux 上使用。 (注意#GP(0) 异常:如果寄存器 CR4 中的 TSD 标志已设置且 CPL 大于 0 - 当前特权级别 0 = 内核,更高 = 用户空间。
perf stat
下运行它以获得总时间和硬件性能计数器。)
关于linux - 2020 年 Intel x86-64 CPU 用户空间的 TSC(时间戳计数器)有多稳定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61438836/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!