2011-03-20 17 views
6

Estoy pensando en cambiar al Clojure 1.3 alpha/beta de Clojure 1.2 y me preguntaba cuáles son las experiencias de otras personas sobre cuán estable es Clojure 1.3 antes de cambiar.¿Qué tan estable es Clojure 1.3?

En 1.2 sigo quedando sin espacio "PermGen", que aparentemente se soluciona en 1.3. Esta es la razón por la que quiero virar.

Actualización: Rich Hickey ha reconocido este era un problema en Clojure, y el problema con la permanente generación y las palabras clave parece estar fijo sin embargo, en un 1,3 por hacer palabras clave utilizan referencias débiles:

http://groups.google.com/group/clojure/browse_thread/thread/4308d846bf2ef129

Respuesta

6

Las versiones 1.3 alpha parecen bastante libres de errores por lo que yo las he probado, pero ciertamente no están destinadas a ser "estables" con la API y las garantías asociadas. Todos los lanzamientos alpha que he probado han implementado nuevos cambios de última hora.

Si sabe lo que está haciendo, el rendimiento aumenta podría valer la molestia de tener que portar su código cada versión de 1.3 alfa x, pero me atengo a 1.2 para código de producción hasta que 1.3 alcance al menos estado de candidato de lanzamiento.

EDITADO después de su edición: si se está quedando sin PermGen, probablemente esté haciendo algo mal que probablemente no se solucione con clojure 1.3. A menos que esté generando palabras clave sobre la marcha, lo que es posiblemente una mala idea de todos modos.

Si aún no lo ha hecho, lea http://www.xcombinator.com/2011/03/02/clojures-keyword-can-fill-up-your-permgen-space/ y http://www.freshblurbs.com/explaining-java-lang-outofmemoryerror-permgen-space

4

I No estoy seguro de que tu pregunta tenga mucho sentido. Como se anuncia, Clojure 1.3 es un software alfa. Si quieres experimentar con esto, sigue adelante. Si desea construir sistemas de misión crítica, probablemente sea mejor que espere. Hasta ahora, no he encontrado ningún problema serio con 1.3 alpha, pero de nuevo: no lo estoy usando en producción. De acuerdo con algunos microbenchmarks que hice, es más rápido que 1.2.