2009-08-01 12 views
8

¿Alguien conoce alguna herramienta de compilación o de estilo que señale el autoboxing y el desempaquetado desde el servidor de compilación?herramienta de compilación para detectar autoboxing?

Ya tengo la opción eclipse para marcarlo en mi extremo, pero no todos en el proyecto usan el mismo IDE o la misma configuración. Encontrarlo en el lado de la construcción parece ser la única forma de detectar dónde podría ingresar al proyecto.

+0

¿Sería esto una especie de herramienta para realizar análisis estáticos en el código fuente de Java? –

Respuesta

0

Una herramienta mejor sería la que resalta el autoenlace en las rutas de código que un generador de perfiles prueba es lento debido a boxeo. Forzar el boxeo explícito es como evitar la recolección de basura porque puede ser lento en un caso límite. Permita que las herramientas hagan su trabajo: compilador y lenguaje para expresar el problema real en el que está trabajando, y analista para detectar problemas de rendimiento. El boxeo explícito no es natural en el contexto de la solución de un problema porque muestra matices de lenguaje que no forman parte de la descripción de la solución.

Editar: ¿Este tipo de comentario es apropiado aquí? De hecho, estoy tratando de ser útil; de hecho, he pensado específicamente en el pasado sobre una herramienta para identificar instancias del código de operación CLI box en rutas calientes.

+0

@ 28OZ28: comentario adicional - Creo que es apropiado. –

3

Findbugs identificará muchos specific cases de problemas de boxeo potencialmente problemáticos. Me vincula directamente a un ejemplo, pero si Ctrl-F para "caja" en esa página, encontrará el resto con bastante facilidad. Creo que es mejor buscar problemas de boxeo específicos que marcar todo al por mayor. (en otras palabras, estoy de acuerdo con 280Z28)

2

Si está utilizando Eclipse, abra las Preferencias y vaya a Java - Compilador - Errores/Advertencias. En la sección de problemas de programación potencial de una de las opciones, puede activar el auto boxing/unboxing como advertencia o error. Este análisis estático podría ser muy útil cuando se utiliza con un generador de perfiles.

Como se mencionó en 280z28, sería mejor tener una herramienta que encontrara casos de auto-boxing/unboxing que se llaman con mucha frecuencia y por lo tanto afectan el rendimiento. Aunque no sé de una herramienta así.

+1

El cartel original decía que estaba buscando algo que no requiriera que todos en su equipo usen Eclipse. Estoy en el mismo barco, donde tengo un equipo de desarrolladores que desean prohibir el uso del autoboxing en todo el equipo sin imponer un IDE en particular en todo el equipo. Desafortunadamente, aún no he encontrado una herramienta que haga esto fuera de un IDE en particular. –

Cuestiones relacionadas