guyboertje / jrjackson

Jruby wrapper for Jackson (and Smile)
65 stars 33 forks source link

Gem release of JrJackson is potentially larger than need be #16

Closed Burgestrand closed 10 years ago

Burgestrand commented 10 years ago

Hi!

I noticed the most recent version of jrjackson (0.2.4) is 35.1MB on rubygems.org: http://rubygems.org/gems/jrjackson/versions/0.2.4. I unpacked the gem and looked at the output.

It appears like some savings could be made by excluding the benchmarking folder when building the gem?

 35M    ./benchmarking/fixtures
 60K    ./benchmarking/individual
 35M    ./benchmarking
 22M    ./lib/jrjackson/jars
 22M    ./lib/jrjackson
 22M    ./lib
4.0K    ./profiling
 52K    ./src/main/java/com/jrjackson
 52K    ./src/main/java/com
 52K    ./src/main/java
 52K    ./src/main
4.0K    ./src/test/java/com/jrjackson/jruby
4.0K    ./src/test/java/com/jrjackson
4.0K    ./src/test/java/com
4.0K    ./src/test/java
4.0K    ./src/test
 56K    ./src
4.0K    ./test
 58M    .
guyboertje commented 10 years ago

Thakns for the heads up. The actual culprit is the new jar. I changed my maven pom to use jruby 1.7.5 and this has made the size of the jar explode. I will investigate that and your suggestion.

mkristian commented 10 years ago

yes, the new jruby artifact has all its dependencies declared and lot's of them are outside of the jruby packages. what about the declare jruby artifact as provided that should prevent the shade plugin to include those classes in the shaded jar ?

guyboertje commented 10 years ago

I will try the directive <minimizeJar>true</minimizeJar> tonight. I can't work on my private projects while at work but a can do a bit of research :-)

guyboertje commented 10 years ago

Released v0.2.5. Size is now a slender, svelte 1.1MB.

Creepy - size 1.1 on 2013-11-11 at 22:33.

Burgestrand commented 10 years ago

Nice one!