Looking at the output of the compiled Mail application, I noticed the
following property of function declarations:

function dM(d,b){var a,c;if(b<0){throw AZ(new
zZ(),ij+b)}c=d.a.rows.length;for(a=c;a<=b;++a){pN(d,a)}}
function eM(f,d,c){var e=f.rows[d];for(var b=0;b<c;b++){var
a=$doc.createElement(gi);e.appendChild(a)}}
function pM(a){while(++a.a<a.c.b){if(q4(a.c,a.a)!=null){return}}}
function qZ(){return this.$H||(this.$H=++mp)}
function
oU(d,a,c,b){if(!b||b==c){return}oU(d,a,c,mq((Ep(),b)));ey(a.a,a.b++,b)}
function rU(i,a,e,h)

note that the function params are assigned single character symbols, but
they are not consistently assigned and in the same order. If instead, the
first arguments of any function were a, b, c, ... appear in order (they
could be any reserved sequence), then characters sequences like

(a){
(a,b){
(a,b,c){
(a,b,c,d){

would appear frequently and yield more backreferences in the LZ77 portion of
the DEFLATE algorithm, plus, they would occur far more frequently, giving a
smaller bit representation in the huffman tables. This might lead to
significant savings when gzipping.

-Ray

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to