YUI compressor compresses all valid input javascript correctly.  Closure
compiler under simple mode accepts a subset of javascript and produces
output that tries to be compatible with Caja's output semantics (
http://code.google.com/closure/compiler/faq.html#caja).  If we are willing
to author in a subset of javascript, we should instead aim for the Caja
subset (specifically the cajita subset).  The Caja Web Tools package (
http://code.google.com/p/google-caja/source/browse/#svn/trunk/src/com/google/caja/ancillary/opt)
provides comparable compression as well as a linter and jsdoc tool.  The
significant advantage over targetting closure compiler would be the ability
to inline gadgets on a page instead of iframing them.

On Tue, Jan 12, 2010 at 1:37 PM, Paul Lindner <[email protected]> wrote:

> There isn't a closure compiler maven plugin quite yet.  Also be aware that
> the closure compiler is quite slow.  However using it has uncovered a
> number
> of issues.  See the warnings I just attached to the jira issue.
>
>
> On Tue, Jan 12, 2010 at 1:25 PM, John Hjelmstad <[email protected]> wrote:
>
> > Looks good. Do you have a CL for pom.xml updates as well that switches
> from
> > YUI to CC?
> >
> > -j
> >
> > On Tue, Jan 12, 2010 at 1:20 PM, Paul Lindner <[email protected]>
> > wrote:
> >
> > > With a large number of cleanups to the jsdoc I was able to get the
> > shindig
> > > javascript compiled using the closure compiler.  Overall there's a 5%
> > > reduction in gzip'd bytes (see table below)
> > >
> > > Normally closure compiler is not used piecemeal like this.  instead
> it's
> > > used on the entirety of a script.  Doing this for content from the
> concat
> > > servlet shows a 6% reduction in gzip'd bytes:
> > >
> > >   6671 Jan 12 12:34 rpc.cc.js.gz
> > >   7116 Jan 12 12:34 rpc.opt.js.gz
> > >  26427 Jan 12 12:32 if.cc.js.gz
> > >  28171 Jan 12 12:30 if.opt.js.gz
> > >
> > >
> > > To track the cleanups to the javascript I created
> > > https://issues.apache.org/jira/browse/SHINDIG-1264  There's a bit more
> > > remaining cleanup and some remaining outstanding warnings from my
> build.
> > >
> > > REDUCTION IN GZIP BYTES
> > >
> > >  orig    yui     cc diff fname
> > >   595    104    103 1.0%
> > target/classes/features/auth-refresh/auth-refresh
> > >  2654    446    370 17.0% target/classes/features/core.auth/auth
> > >   542     59     57 3.4% target/classes/features/core.auth/auth-init
> > >  2883    590    545 7.6% target/classes/features/core.config/config
> > >  5266   2647   2285 13.7% target/classes/features/core.io/io
> > >   631    143    141 1.4% target/classes/features/core.io/taming
> > >  2726    842    797 5.3% target/classes/features/core.json/json
> > >   614    124    122 1.6% target/classes/features/core.json/taming
> > >  3063   1347   1247 7.4% target/classes/features/core.legacy/legacy
> > >  1220    303    288 5.0% target/classes/features/core.log/log
> > >   671    189    186 1.6% target/classes/features/core.log/taming
> > >  2575    777    725 6.7% target/classes/features/core.prefs/prefs
> > >   676    186    184 1.1% target/classes/features/core.prefs/taming
> > >   653    168    166 1.2% target/classes/features/core.util/taming
> > >  3544    991    926 6.6% target/classes/features/core.util/util
> > >   984    217    208 4.1%
> > > target/classes/features/dynamic-height.util/dynamic-height-util
> > >  2593    675    633 6.2%
> > > target/classes/features/dynamic-height/dynamic-height
> > >   630    144    141 2.1% target/classes/features/dynamic-height/taming
> > >  2638   1116   1054 5.6% target/classes/features/flash/flash
> > >  2092    995    929 6.6% target/classes/features/flash/taming
> > >  1020    466    472 -1.3% target/classes/features/i18n/currencycodemap
> > >  5240   1505   1451 3.6% target/classes/features/i18n/datetimeformat
> > >  1915   1313   1356 -3.3%
> target/classes/features/i18n/datetimeformattest
> > >  9641   2408   2276 5.5% target/classes/features/i18n/datetimeparse
> > >  2821   1838   1879 -2.2%
> target/classes/features/i18n/datetimeparsetest
> > >  2101    556    550 1.1% target/classes/features/i18n/formatting
> > >  5618   2514   2399 4.6% target/classes/features/i18n/numberformat
> > >  2251   1567   1586 -1.2% target/classes/features/i18n/numberformattest
> > >  2609    999    933 6.6%
> target/classes/features/minimessage/minimessage
> > >   660    175    172 1.7% target/classes/features/minimessage/taming
> > >  2010    368    350 4.9% target/classes/features/oauthpopup/oauthpopup
> > >  1695    727    723 0.6%
> > > target/classes/features/opensocial-0.6/opensocial6to7
> > >  1276    576    563 2.3%
> > > target/classes/features/opensocial-0.7/opensocial7to8
> > >   707    226    216 4.4%
> > > target/classes/features/opensocial-0.8/opensocial8to9
> > >  2184   1174   1099 6.4%
> > > target/classes/features/opensocial-base/fieldtranslations
> > >  1031    373    349 6.4%
> > > target/classes/features/opensocial-base/jsonactivity
> > >   731    191    186 2.6%
> > > target/classes/features/opensocial-base/jsonmessage
> > >   861    194    190 2.1%
> > > target/classes/features/opensocial-base/jsonmessagecollection
> > >  1186    580    548 5.5%
> > target/classes/features/opensocial-base/jsonperson
> > >  2310    660    601 8.9%
> > > target/classes/features/opensocial-data-context/datacontext
> > >  5767   2336   2216 5.1% target/classes/features/opensocial-data/data
> > >  4116   2596   2505 3.5%
> > > target/classes/features/opensocial-jsonrpc/jsonrpccontainer
> > >  3629    375    374 0.3%
> > > target/classes/features/opensocial-reference/activity
> > >  1343    290    290 0.0%
> > > target/classes/features/opensocial-reference/address
> > >  1093    195    194 0.5%
> > > target/classes/features/opensocial-reference/bodytype
> > >  1263    257    251 2.3%
> > > target/classes/features/opensocial-reference/collection
> > >  3997    673    607 9.8%
> > > target/classes/features/opensocial-reference/container
> > >  4130    798    774 3.0%
> > > target/classes/features/opensocial-reference/datarequest
> > >  1173    174    169 2.9%
> > > target/classes/features/opensocial-reference/dataresponse
> > >  1029    159    158 0.6%
> > target/classes/features/opensocial-reference/email
> > >  1726    381    384 -0.8%
> > target/classes/features/opensocial-reference/enum
> > >  1294    359    350 2.5%
> > > target/classes/features/opensocial-reference/environment
> > >  1590    264    260 1.5%
> > > target/classes/features/opensocial-reference/idspec
> > >  1318    286    278 2.8%
> > > target/classes/features/opensocial-reference/mediaitem
> > >  1893    452    452 0.0%
> > > target/classes/features/opensocial-reference/message
> > >  1213    214    212 0.9%
> > > target/classes/features/opensocial-reference/messagecollection
> > >  1096    247    245 0.8%
> > target/classes/features/opensocial-reference/name
> > >  1564    246    245 0.4%
> > > target/classes/features/opensocial-reference/navigationparameters
> > >  3858    606    592 2.3%
> > > target/classes/features/opensocial-reference/opensocial
> > >  1427    264    263 0.4%
> > > target/classes/features/opensocial-reference/organization
> > >  3389   1141   1138 0.3%
> > > target/classes/features/opensocial-reference/person
> > >  1029    157    156 0.6%
> > target/classes/features/opensocial-reference/phone
> > >  1556    333    330 0.9%
> > > target/classes/features/opensocial-reference/responseitem
> > >  1448    851    870 -2.2%
> > > target/classes/features/opensocial-reference/taming
> > >  1066    174    174 0.0%
> target/classes/features/opensocial-reference/url
> > >  4314   1595   1505 5.6%
> > target/classes/features/opensocial-templates/base
> > >  9647   3885   3672 5.5%
> > > target/classes/features/opensocial-templates/compiler
> > >  4375   1842   1714 6.9%
> > > target/classes/features/opensocial-templates/container
> > >  4153    978    905 7.5%
> > > target/classes/features/opensocial-templates/jsTemplate/jsevalcontext
> > >  9977   2767   2482 10.3%
> > > target/classes/features/opensocial-templates/jsTemplate/jstemplate
> > >  4231   1122   1060 5.5%
> > > target/classes/features/opensocial-templates/jsTemplate/util
> > >  2989   1246   1143 8.3%
> > > target/classes/features/opensocial-templates/loader
> > >  1301    308    297 3.6%
> > > target/classes/features/opensocial-templates/namespaces
> > >  2559    919    824 10.3%
> target/classes/features/opensocial-templates/os
> > >  1644    645    620 3.9%
> > > target/classes/features/opensocial-templates/template
> > >  1441    386    360 6.7%
> > target/classes/features/opensocial-templates/util
> > >  1849    447    387 13.4% target/classes/features/osapi/batch
> > >  1920    505    466 7.7%
> > target/classes/features/osapi/gadgetsrpctransport
> > >  1401    551    508 7.8% target/classes/features/osapi/jsonrpctransport
> > >  1158    388    360 7.2% target/classes/features/osapi/osapi
> > >   985    194    193 0.5% target/classes/features/osapi/peoplehelpers
> > >   989    336    328 2.4% target/classes/features/osapi/taming
> > >   981    227    210 7.5% target/classes/features/pubsub/pubsub
> > >  1415    454    412 9.3% target/classes/features/pubsub/pubsub-router
> > >   622    128    126 1.6% target/classes/features/pubsub/taming
> > >  1785    474    445 6.1% target/classes/features/rpc/fe.transport
> > >  2444    728    683 6.2% target/classes/features/rpc/ifpc.transport
> > >  4045    887    840 5.3% target/classes/features/rpc/nix.transport
> > >  6619   1420   1317 7.3% target/classes/features/rpc/rmr.transport
> > >  9270   2292   2134 6.9% target/classes/features/rpc/rpc
> > >  1610    454    429 5.5% target/classes/features/rpc/wpm.transport
> > >  1181    359    328 8.6% target/classes/features/setprefs/setprefs
> > >   723    121    120 0.8% target/classes/features/settitle/settitle
> > >   606    116    114 1.7% target/classes/features/settitle/taming
> > >  1226    253    242 4.3% target/classes/features/skins/skins
> > >   608    117    115 1.7% target/classes/features/skins/taming
> > >  5496   2640   2491 5.6% target/classes/features/tabs/tabs
> > >   716    223    222 0.4% target/classes/features/tabs/taming
> > >   705    215    212 1.4% target/classes/features/views/taming
> > >  3653   1643   1550 5.7% target/classes/features/views/views
> > >  1867    755    728 3.6% target/classes/features/xmlutil/xmlutil
> > > ---------------------------------------------------
> > > 238629  75921    728 5.1%
> > > YUI Better   : 6 (131)
> > > CC Better    : 92 (4017)
> > >
> >
>

Reply via email to