技術的に 効果がないはずです。ただし、渡された値は最小値として使用されることに注意してください。 であり、絶対的なものではないため、システムは可能な限り最小の間隔を自由に使用できます。
ここで使用されている time コマンドについて指摘したかっただけです。 /usr/bin/time
を使用する必要があります time
だけではなく プログラムメモリ、CPU、時間統計を確認したい場合は、コマンド。フルパスなしで time を呼び出すと、組み込みの time コマンドが呼び出されます。違いを見てください。
フルパスなし:
# time -v ./a.out
-bash: -v: command not found
real 0m0.001s
user 0m0.000s
sys 0m0.001s
完全なパス:
# /usr/bin/time -v ./a.out
Command being timed: "./a.out"
User time (seconds): 0.00
System time (seconds): 0.00
Percent of CPU this job got: 0%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:10.87
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 0
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 220
Voluntary context switches: 10001
Involuntary context switches: 1
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
man time
を使用 /usr/bin/time
の場合 マニュアルと help time
を使用 ビルトイン時間情報用。
確認するためにソースを調べる必要がありますが、私の推測では、「効果なし」というわけではありませんが、おそらくまだ usleep(1)
未満です。 - ライブラリ呼び出しが単にその引数をチェックしてすぐに戻り、タイマー/コールバックを設定してスケジューラを呼び出すより一般的なプロセスを回避したとしても、タイトなループで測定可能な関数呼び出しのオーバーヘッドがまだあります.