Buscar
Social
Ofertas laborales ES
« Eclipse aprueba el proyecto JavaServer Faces Tools | Main | Netbeans como herramienta para crear servicios basados en eBay »
viernes
sep022005

Meditacrión trascendental de Gosling

No es que sea un tema de vital importancia para la plataforma, y es un poco antigua (final de julio) pero me ha parecido bastante interesante. Que el rendimiento de las funciones seno y coseno en Java dejaba bastante que desear no era ningýn secreto. Es curioso cýmo prácticamente cualquier operacrión matemática y otras funciones de la librerýa Math tienen un rendimiento similar a C, pero estas dos son bastante lentas.



El problema parece venir de algunas deficiencias en la instruccrión de los procesadores x86 que permite realizar estos cýlculos. Esta instruccrión sýlo es precisa en un determinado rango: [-pi/4, pi/4]. Fuera de este rango puede llegar a dar un error en el quinto decimal; las funciones seno y coseno de Math devuelven un double, que tiene 15 dýgitos de precisrión. Para conseguir cýlculos más precisos se optý por realizar unas triqurióuelas matemáticas que son las responsables del mal rendimiento de estas funciones. C parece haber optado por conformarse con cinco dýgitos de precisrión.



Según Gosling estamos "jodidos" (screwed) en este sentido, ya que ahora por motivos de compatibilidad no se puede solucionar esto. ýNo crees que merecerýa la pena meter una clase "FastMath" en Java.lang (de un modo similar a como se introdujo StricMath) para arreglarlo?

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.
Comentarios deshabilitados
Comentarios deshabilitados en esta noticia.