Temps de CPU
El Temps de CPU o temps de processador és la quantitat de temps durant la qual una unitat central de processament executa efectivament instruccions d'un procés, fil d'execució o programa.[1] És una mesura del consum de processador i no s'ha de confondre amb el temps real transcorregut o elapsed time, que és la durada observada des de l'inici fins al final de l'execució segons un rellotge extern.[2]
Diferència amb el temps real transcorregut
[modifica]La diferència és important perquè un programa no sempre està utilitzant la CPU mentre s'executa. Pot estar esperant una operació d'entrada/sortida, bloquejat per sincronització, adormit per una crida de suspensió o preparat per executar-se però encara no seleccionat pel planificador de tasques del sistema operatiu. Aquests intervals formen part del temps real transcorregut, però no del temps de CPU consumit pel programa.[3]
Temps d'usuari i temps de sistema
[modifica]En molts sistemes operatius, el temps de CPU s'acostuma a dividir en temps d'usuari i temps de sistema. El temps d'usuari correspon al temps en què el processador executa codi del programa en espai d'usuari. El temps de sistema correspon al temps en què el nucli executa operacions en nom del procés, com ara determinades crides de sistema. La suma d'aquests dos valors dona una aproximació del temps total de CPU atribuït al procés.[4]
Ús en l'anàlisi del rendiment
[modifica]El temps de CPU és útil per analitzar el rendiment d'un programa. Un programa pot tenir molt temps real però poc temps de CPU si passa gran part de l'execució esperant dades, fitxers, xarxa o altres recursos. En canvi, en un programa multifil executat en diversos nuclis, la suma del temps de CPU dels fils pot arribar a ser superior al temps real transcorregut, perquè diverses unitats de processament poden executar instruccions alhora.
En programació concurrent, comparar el temps real transcorregut amb el temps de CPU ajuda a interpretar si la millora de rendiment prové d'un ús més eficient dels temps d'espera, de paral·lelisme real o simplement d'una reducció del treball computacional. Per exemple, una aplicació basada en tasques asíncrones pot reduir el temps total d'execució encara que el temps de CPU sigui semblant, perquè les esperes de diverses tasques se superposen.
Vegeu també
[modifica]Referències
[modifica]- ↑ «Processor And CPU Time». GNU C Library. [Consulta: 30 maig 2026].
- ↑ «Time Resources». GNU Project. [Consulta: 30 maig 2026].
- ↑ «time — Time access and conversions». Python Software Foundation. [Consulta: 30 maig 2026].
- ↑ «time». The Open Group Base Specifications. [Consulta: 30 maig 2026].