GNU/Linux >> Tutoriales Linux >  >> Linux

Efecto de usleep(0) en C++ en Linux

Técnicamente no debería tener ningún efecto. Pero debe recordar que el valor pasado se usa como un mínimo , y no un absoluto, por lo tanto, el sistema es libre de usar el intervalo más pequeño posible en su lugar.


Solo quería señalar el comando de tiempo que se usa aquí. Deberías usar /usr/bin/time en lugar de solo time comando si desea verificar la memoria de su programa, la CPU, la estadística de tiempo. Cuando llama al tiempo sin la ruta completa, se llama al comando de tiempo incorporado. Mira la diferencia.

sin ruta completa:

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

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

con ruta completa:

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

usa man time para /usr/bin/time manual y uso help time para la información de tiempo incorporada.


Tendría que mirar la fuente para asegurarme, pero creo que no es del todo "sin efecto", pero probablemente aún sea menos de usleep(1) - todavía existe la sobrecarga de la llamada a la función, que puede medirse en un ciclo cerrado, incluso si la llamada a la biblioteca simplemente verifica sus argumentos y regresa de inmediato, evitando el proceso más habitual de configurar un temporizador/devolución de llamada y llamar al programador.


Linux
  1. Ejemplos de comandos de tiempo de Linux

  2. Cómo obtener el tamaño del directorio en Linux

  3. Ejemplos de comandos uptime en Linux

  4. Establezca la fecha y la hora del sistema usando C++ en Linux

  5. ¿Alternativa a `memory.size()` de R en Linux?

Cómo usar du Command en Linux

Comprobar la zona horaria en Linux

Ejemplos de comandos de fecha de Linux

Reducir el tamaño del archivo PDF en Linux

Entendiendo el comando time en Linux

Ping de Linux:Mostrar tiempo de espera