GNU/Linux >> Belajar Linux >  >> Linux

Pengaruh usleep(0) di C++ di Linux

Secara teknis seharusnya tidak berpengaruh. Namun Anda harus ingat bahwa nilai yang diteruskan digunakan sebagai minimum , dan tidak mutlak, oleh karena itu sistem bebas menggunakan interval sekecil mungkin.


Saya hanya ingin menunjukkan tentang perintah waktu yang digunakan di sini. Anda harus menggunakan /usr/bin/time bukan hanya time perintah jika Anda ingin memeriksa memori program, cpu, statistik waktu Anda. Saat Anda memanggil waktu tanpa jalur lengkap maka perintah waktu bawaan dipanggil. Lihat perbedaannya.

tanpa path lengkap:

# time -v ./a.out
-bash: -v: command not found

real    0m0.001s
user    0m0.000s
sys     0m0.001s

dengan path lengkap:

# /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

gunakan man time untuk /usr/bin/time manual dan gunakan help time untuk informasi waktu bawaan.


Saya harus melihat sumbernya untuk memastikan, tetapi dugaan saya adalah bahwa itu tidak sepenuhnya "tidak berpengaruh", tetapi mungkin masih kurang dari usleep(1) - masih ada overhead pemanggilan fungsi, yang dapat diukur dalam loop ketat, bahkan jika pemanggilan pustaka hanya memeriksa argumennya dan segera mengembalikannya, menghindari proses penyiapan pengatur waktu/panggilan balik yang lebih biasa dan memanggil penjadwal.


Linux
  1. Contoh Perintah Waktu Linux

  2. Contoh Perintah uptime di Linux

  3. Status Proses Linux

  1. Memboot Linux lebih cepat

  2. Cara mendapatkan ukuran direktori di Linux

  3. Alternatif untuk `memory.size()` R di linux?

  1. Contoh Perintah timedatectl di Linux

  2. Mendeteksi Windows atau Linux di C, C++

  3. perhatikan ukuran file di linux