Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Ver: Modo: Orden:
El Núcleo y las Versiones | 8 comentarios (8 temáticos, editoriales, 0 ocultos)
OT: ¿nanosegundos? (none / 0) (#1)
por jorginius ("jorginius" en Google Mail) a las Sun Dec 12th, 2004 at 08:17:48 PM CET
(Información Usuario) http://www.rodriguezmoreno.com

Si alguna vez habéis tenido que perfilar código Java en Linux sabréis que la famosa precisión de nanosegundos (milésimas de millonésima de segundo, o 10^-9 segundos) es completamente utilizable; cuando en otros sistemas operativos hasta los milisegundos son poco fiables.

¿A qué te refieres exactamente?. La precisión del tiempo está restrigida a la duración del jiffie, de uno a diez milisegundos en Linux, dependiendo de la versión del kernel y de la planificación.

Ya le puedes pedir al kernel que duerma al proceso un microsegundo o un nanosegundo (o 10 o 100... Tanto usleep como con nanosleep) que estará durmiendo al menos un milisegundo. Eso sin contar el tiempo del cambio de contexto.

Si te refieres a consultar el contador de tiempo real del PC (que genera pulsitos de frecuencia máxima de 8192 Hz, con lo que tienes una resolución del orden de microsegundos) o los registros de perfilado del Pentium (rdtsc, para llevar la cuenta de los ciclos de reloj, con lo que podrías tener resolución de nanos), es igual de fácil hacerlo en Linux que en cualquier otro SO, más aún cuando no hablamos de RTOS.

Si la medida del tiempo no funciona en alguna de las plataformas soportadas por Java será por un bug de Java. De la precisión se ocupa el hardware.

En Windows, los temporizadores tienen una resolución máxima de 10 ms. (o lo que marque GetSystemTimeAdjustment) por la misma razón que ya he comentado para Linux. Puedes recurrir al contador de tiempo real si precisas de más resolución con QueryPerformanceCounter. A través de /dev/rtc en Linux



El Núcleo y las Versiones | 8 comentarios (8 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:
Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda