Technicky nemělo by to mít žádný účinek. Musíte si však pamatovat, že předaná hodnota se používá jako minimum , a ne absolutní, proto systém může místo toho použít nejmenší možný interval.
Jen jsem chtěl poukázat na zde použitý časový příkaz. Měli byste použít /usr/bin/time
místo pouze time
příkaz, pokud chcete zkontrolovat paměť programu, cpu, statistiku času. Když zavoláte čas bez úplné cesty, zavolá se vestavěný časový příkaz. Podívejte se na rozdíl.
bez úplné cesty:
# time -v ./a.out
-bash: -v: command not found
real 0m0.001s
user 0m0.000s
sys 0m0.001s
s úplnou cestou:
# /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
použijte man time
pro /usr/bin/time
manuál a použijte help time
pro vestavěné časové informace.
Musel bych se podívat na zdroj, abych se ujistil, ale odhaduji, že to není úplně "žádný efekt", ale pravděpodobně je to stále méně než usleep(1)
- stále existuje režie volání funkce, kterou lze měřit v těsné smyčce, i když volání knihovny jednoduše zkontroluje své argumenty a okamžitě se vrátí, čímž se vyhne obvyklejšímu procesu nastavení časovače/zpětného volání a volání plánovače.