El compilador de cierre está entrando en una función, pero el tamaño del código es más pequeño si esa función no está en línea (solo me importa el tamaño del código, esto es para JS1k). ¿Puedo decirle al compilador que no quiero esa función en línea?¿Es posible hacer que el compilador de Google Closure * no * incorpore ciertas funciones?
Editar: Sólo para explicar un poco mejor, aquí está mi función:
function lineTo(x,y) {
a.lineTo(x,y);
}
donde a
en el contexto de la lona. Debido a que hay tantos a.lineTo
s en el código, vale la pena usar esta función. De esta manera, mi código es 1019 bytes (y todos los lineTo
s son reemplazados por a.lineTo
). Si cambio la función de:
function lineTo(x,y) {
a.lineTo(x,y);
console.log();
}
la nueva línea de alguna manera obliga al compilador que no coloca en línea esta función, lo que me da 993 bytes. Entonces, si pudiera deshacerme del console.log();
, ahorraría otros 14 bytes.
http://code.google.com/intl/es/closure/compiler/docs/compilatio n_levels.html "El compilador solo agrega funciones cuando determina que la alineación es segura y ahorra espacio". ... tal vez el documento está equivocado o hay un error en el compilador. – timdream
@timdream Ver mi edición - parece que alineará automáticamente una función de una línea, incluso si la línea aumenta el tamaño en comparación con dejarlo. – Skilldrick
¡Entendido! Gracias. – timdream