plasma-umass / doppio_jcl Goto Github PK
View Code? Open in Web Editor NEWScripts that produce a version of the Java Class Library and Java Home in a way that is compatible with DoppioJVM.
License: MIT License
Scripts that produce a version of the Java Class Library and Java Home in a way that is compatible with DoppioJVM.
License: MIT License
Currently, DoppioJVM issues a network request for every individual uncompressed class file it needs to load. This is awful when you are not on a fast connection.
It would be much better to package the JCL into multiple jar files, perhaps through subdividing the packages. I will need to do an experiment to see what packages are touched by which programs, to see if there's a sensible separation that can minimize network time.
ecj
's source into java_home
. There's no need for that anymore, now that Doppio has built-in JAR file support.We have a custom Provider
for security-related things for DoppioJVM. We should appropriately modify the JCL's java.security
properties file to use this as the default provider, which avoids eagerly initializing the DoppioProvider
class.
bin
man
pages*.so
filesfile | Before | After |
---|---|---|
rt.jar | 62MB | 29MB |
tools.jar | 18MB | 7.3MB |
Command used:
advzip --recompress -4 --iter 4 rt.jar
This is using the 1.18 version of advancecomp
that comes with ubuntu 14.04 LTS. Newer versions might give better compression.
Also increasing the number of iterations might improve compression.
Note: it takes a long time to compress (half an hour on my system for rt.jar). But according to the zopfli documentation, it has none to negligible impact on decompression.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.