Jumping in late... The JRuby installer is using pack2000 on files for windows installer. I am sure we have this option for installers on all platforms (not that I advocate install4j for MacOS -- but we should still have access to pack2000) so at least for installers we can do this.
-Tom On Sat, Oct 10, 2009 at 3:28 PM, Charles Oliver Nutter <head...@headius.com> wrote: > On Sat, Oct 10, 2009 at 2:11 AM, Vladimir Sizikov <vsizi...@gmail.com> wrote: >> What's the driving force behind this? Is this because of limitations >> of GAE or something else? > > Both GAE and Android have size restrictions, but I'd like to get the > main jar smaller just as a practical matter. > >> I've recently played with jruby-complete.jar to see how its size and >> compression affect the startup performance, and it turned out that >> uncompressed JAR is much bigger but allows to save 0.1 - 0.2 secs from >> startup. :) > > Yeah, I'm sure it does help, but probably not enough that it would > matter for server scenarios. I guess I'm also interested in it for > download size, though I realized last night that even the Windows > installer + JRE is smaller than the one-click installer. > >> Also, using pack200 produces some pretty big size savings: >> >> Before pack: jar-complete is 10.5Mb. >> >> After pack, via >> >> pack200 -G -O jruby-complete.jar >> >> the size is 9.0Mb. Not bad. But it strips all debug info in process of >> repacking, and reorders files. The help says that one needs to be >> careful with -O command line switche though, they somehow might affect >> JAR access optimizations. >> >> It seems that stripping the debug info is the biggest factor that >> allows to reduce the size here. > > Hmm interesting. So this shrinks it but also damages accurate Java > backtraces... > > Main .jar, before: > > -rw-r--r-- 1 headius staff 8004060 Oct 10 15:23 jruby.jar > > Main jar, after: > > -rw-r--r-- 1 headius staff 6694569 Oct 10 15:26 jruby.jar > > And still executable, which is impressive. However: > > ~/projects/jruby ➔ jruby -J-Djruby.backtrace.style=raw -e "def foo; > raise; end; foo" > Thread.java:1460:in `getStackTrace': unhandled exception > from null:-1:in `setBacktraceFrames' > from null:-1:in `setException' > from null:-1:in `<init>' > from null:-1:in `raise' > from null:-1:in `call' > from null:-1:in `call' > from null:-1:in `call' > from null:-1:in `cacheAndCall' > from null:-1:in `call' > from -e:1:in `method__0$RUBY$foo' > from __dash_e__#foo:-1:in `call' > from __dash_e__#foo:-1:in `call' > from null:-1:in `cacheAndCall' > from null:-1:in `call' > from -e:1:in `__file__' > from -e:-1:in `load' > from null:-1:in `runScript' > from null:-1:in `runNormally' > from null:-1:in `runFromMain' > from null:-1:in `run' > from null:-1:in `run' > from null:-1:in `main' > > Rather difficult to debug :) > > - Charlie > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > -- blog: http://blog.enebo.com twitter: tom_enebo mail: tom.en...@gmail.com --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email