Skip to content

Instantly share code, notes, and snippets.

@headius
Created October 15, 2018 16:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save headius/b46011747891bdce3664ad374ed3dac0 to your computer and use it in GitHub Desktop.
Save headius/b46011747891bdce3664ad374ed3dac0 to your computer and use it in GitHub Desktop.
Using AppCDS with JRuby 9.2.1
[] ~/projects/jruby $ pickjdk 6
New JDK: jdk1.8.0_181.jdk
[] ~/projects/jruby $ time jruby -e 1
real 0m2.013s
user 0m5.435s
sys 0m0.276s
[] ~/projects/jruby $ time jruby --dev -e 1
real 0m1.546s
user 0m2.048s
sys 0m0.227s
[] ~/projects/jruby $ time jruby -S gem list > /dev/null
real 0m3.370s
user 0m11.259s
sys 0m0.457s
[] ~/projects/jruby $ time jruby --dev -S gem list > /dev/null
real 0m2.115s
user 0m2.942s
sys 0m0.320s
[] ~/projects/jruby $ pickjdk 3
New JDK: jdk-11.jdk
[] ~/projects/jruby $ time jruby -e 1
real 0m3.034s
user 0m7.254s
sys 0m0.360s
[] ~/projects/jruby $ time jruby --dev -e 1
real 0m1.928s
user 0m2.705s
sys 0m0.241s
[] ~/projects/jruby $ time jruby -S gem list > /dev/null
real 0m4.486s
user 0m14.727s
sys 0m0.622s
[] ~/projects/jruby $ time jruby --dev -S gem list > /dev/null
real 0m2.566s
user 0m3.958s
sys 0m0.385s
[] ~/projects/jruby $ gem install jruby-startup
Fetching: jruby-startup-0.0.5.gem (100%)
Successfully installed jruby-startup-0.0.5
1 gem installed
[] ~/projects/jruby $ generate-appcds
*** Outputting list of classes at /Users/headius/projects/jruby/lib/jruby.list
skip writing class com/sun/proxy/$Proxy0 from source __JVM_DefineClass__ to classlist file
skip writing class com/sun/proxy/$Proxy8 from source __JVM_DefineClass__ to classlist file
skip writing class com/sun/proxy/jdk/proxy1/$Proxy9 from source __JVM_DefineClass__ to classlist file
skip writing class com/sun/proxy/$Proxy13 from source __JVM_DefineClass__ to classlist file
skip writing class com/sun/proxy/$Proxy23 from source __JVM_DefineClass__ to classlist file
*** Generating shared AppCDS archive at /Users/headius/projects/jruby/lib/jruby.jsa
narrow_klass_base = 0x0000000800000000, narrow_klass_shift = 3
Allocated temporary class space: 1073741824 bytes at 0x00000008c0000000
Allocated shared space: 3221225472 bytes at 0x0000000800000000
Loading classes to share ...
Preload Warning: Cannot find com/sun/proxy/$Proxy1
Preload Warning: Cannot find com/sun/proxy/$Proxy2
Preload Warning: Cannot find com/sun/proxy/$Proxy3
Preload Warning: Cannot find com/sun/proxy/$Proxy4
Preload Warning: Cannot find com/sun/proxy/$Proxy5
Preload Warning: Cannot find com/sun/proxy/$Proxy6
Preload Warning: Cannot find com/sun/proxy/$Proxy7
Preload Warning: Cannot find com/sun/proxy/$Proxy10
Preload Warning: Cannot find com/sun/proxy/$Proxy11
Preload Warning: Cannot find com/sun/proxy/$Proxy12
Preload Warning: Cannot find com/sun/proxy/$Proxy14
Preload Warning: Cannot find com/sun/proxy/$Proxy15
Preload Warning: Cannot find com/sun/proxy/$Proxy16
Preload Warning: Cannot find com/sun/proxy/$Proxy17
Preload Warning: Cannot find com/sun/proxy/$Proxy18
Preload Warning: Cannot find com/sun/proxy/$Proxy19
Preload Warning: Cannot find com/sun/proxy/$Proxy20
Preload Warning: Cannot find com/sun/proxy/$Proxy21
Preload Warning: Cannot find com/sun/proxy/$Proxy22
Preload Warning: Cannot find com/sun/proxy/$Proxy24
Preload Warning: Cannot find com/sun/proxy/$Proxy25
Preload Warning: Cannot find com/sun/proxy/$Proxy26
Loading classes to share: done.
Rewriting and linking classes ...
Rewriting and linking classes: done
Number of classes 6772
instance classes = 6667
obj array classes = 97
type array classes = 8
Updating ConstMethods ... done.
Removing unshareable information ... done.
Scanning all metaspace objects ...
Allocating RW objects ...
Allocating RO objects ...
Relocating embedded pointers ...
Relocating external roots ...
Dumping symbol table ...
Dumping objects to closed archive heap region ...
Dumping objects to open archive heap region ...
Relocating SystemDictionary::_well_known_klasses[] ...
Removing java_mirror ... done.
mc space: 13672 [ 0.0% of total] out of 16384 bytes [ 83.4% used] at 0x0000000800000000
rw space: 15883360 [ 25.4% of total] out of 15884288 bytes [100.0% used] at 0x0000000800004000
ro space: 22575400 [ 36.1% of total] out of 22577152 bytes [100.0% used] at 0x0000000800f2a000
md space: 2560 [ 0.0% of total] out of 4096 bytes [ 62.5% used] at 0x00000008024b2000
od space: 21618264 [ 34.5% of total] out of 21618688 bytes [100.0% used] at 0x00000008024b3000
st0 space: 1503232 [ 2.4% of total] out of 1503232 bytes [100.0% used] at 0x00000007bfe00000
oa0 space: 995328 [ 1.6% of total] out of 995328 bytes [100.0% used] at 0x00000007bfc00000
total : 62591816 [100.0% of total] out of 62599168 bytes [100.0% used]
*** Success!
JRuby versions 9.2.1 or higher should detect /Users/headius/projects/jruby/lib/jruby.jsa and use it automatically.
For versions of JRuby 9.2 or earlier, set the following environment variables:
VERIFY_JRUBY=1
JAVA_OPTS="-XX:G1HeapRegionSize=2m -XX:SharedArchiveFile=/Users/headius/projects/jruby/lib/jruby.jsa"
[] ~/projects/jruby $ time jruby -e 1
real 0m2.036s
user 0m7.390s
sys 0m0.319s
[] ~/projects/jruby $ time jruby --dev -e 1
real 0m1.347s
user 0m2.968s
sys 0m0.244s
[] ~/projects/jruby $ time jruby -S gem list > /dev/null
real 0m3.505s
user 0m14.672s
sys 0m0.574s
[] ~/projects/jruby $ time jruby --dev -S gem list > /dev/null
real 0m2.002s
user 0m4.264s
sys 0m0.353s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment