Ocaml的Unix模块提供了一个stat函数,该函数返回带有浮动st_mtime成员的记录。
这似乎总是二级精度,甚至在支持次秒精度的Linux上也是如此。事实上,它是一个浮点而不是一个int,这给了我希望,它有可能得到一个亚秒精度的时间(或类似的时间),但我不知道如何。
我很高兴使用更多的OPAM图书馆。我已经在用电池了,所以我也不想再使用简街核心( Jane Street Core )--但小型图书馆就行了。
这是我用来测试的脚本:
#!/usr/bin/env ocamlscript
Ocaml.packs := ["unix"]
--
open Unix
open P
我想在两台不同的linux机器中运行的两个进程之间发送一些帧。我想知道每秒收到多少帧。因此,从process1 on machine1,我在帧上加盖了时间戳,然后process2在machine2上收到它。它将检查时间戳并计算到达process2所需的时间。
但是这两台机器上的时间并不完全相同,可能有1秒不同,那么如何获得帧到达process2 on machine2所需的时间呢?
我在我的linux机器上开发脚本已经有一段时间了,我也想在我的Mac上运行它。
我以为Mac上的功能和linux上的功能是一样的,但今天我意识到这是错误的。我知道Mac上的函数较少,但我认为那些确实存在的函数具有相同的实现。
此问题特别与date命令有关。
当我在我的linux机器上使用参数运行命令以提供以纳秒为单位的一些时间时,我得到了正确的结果,但是当我在我的mac上运行它时,它没有这个选项。
Linux-Machine> date +%N
55555555555 #Current time in nanoseconds
Mac-Machine> date +%N
N
如何在M
下面的测试总是失败(这是在linux系统上运行的,问题不是关于其他OSes的):
from time import time
from decimal import Decimal
from pathlib import Path
def test_timing():
start = Decimal(time())
p = Path(__file__).parent / 'testfile.txt' # does not yet exist
p.touch()
mt = p.st
我试图在OneAPI示例中运行正式代码,发现下面的代码实际上并不运行在GPU上。
#pragma omp target data map(to:a[0:sizea],b[0:sizeb]) map(tofrom:c[0:sizec]) device(dnum)
{
// run gemm on gpu, use standard oneMKL interface within a variant dispatch construc
#pragma omp target variant dispatch device(dnum) use_device_ptr(a, b, c)