当我获得两个日期值并减去它们时,有时我得到一个负数:
start_time=$(date -u +%N)
#work
end_time=$(date -u +%N)
echo "execution time was $(expr $end_time - $start_time) s."
这些日期对象之间的工作是在SciDB中的两个数组之间进行操作(例如,两个100x100数组的相乘)。在不同情况下,此操作可能需要不到一秒的时间,这就是我使用纳秒的原因。 示例输出:
computer@place:~/some-scripts$ ./test_mult_100.sh
execution time was 273467147 s.
computer@place:~/some-scripts$ ./test_mult_100.sh
execution time was -735035957 s.
我正在通过PuTTY通过SSH在计算机上执行.sh脚本。对我来说真正奇怪的是,即使在执行中间操作3秒后,我也可以获得负数。我取消设置start_time和end_time变量以避免重叠值,但我不认为不这样做会导致问题。
答案 0 :(得分:4)
%N
是当前秒的纳秒数。
这不是自纪元以来的纳秒数。