尝试在R中设置基准,我在.Call()
上运行大量不同的输入,并测量(=重复100次的中位数)经过的时间:
system.time()
microbenchmark()
proc.time()
。确认,1 - 3的结果具有可比性。
但是,我注意到,对于所有三种方法(Windows 7),运行此函数的时间偏离整数毫秒。值得注意的是,我有另一个基准测试实现,全部用R编写并使用广泛的R-internal(以及C编码)函数。速度只是稍微慢一点,但是 - 使用1 - 3 - 似乎可以精确定位到纳秒级别。
问题:为什么结果在.Call()
的ms级别有所不同,但后者的实现却没有?