Posted by
Sven Gothel on
Nov 27, 2012; 12:54pm
URL: https://forum.jogamp.org/Required-JOGL-Jars-to-run-Java-3D-1-6-tp4027211p4027247.html
On 11/27/2012 12:27 PM, Manu [via jogamp] wrote:
> Thanks August.
> It would be really great if jogl-all.jar could be reduced to 1.1 MB from 4.9
> MB when run with Java 3D!
> Is there an Ant task in JOGL able to build such a Jar automatically, or would
> it be possible to add it either in JOGL or in Java 3D 1.6?
Well, the current partitioning of JOGL jar files (*all* and *atomic*)
is based on our current experience and use-cases.
If we can agree to a new jogl non-atomic JAR file combination like
jogl-all-mobile.jar, jogl-all-mobile.jar or jogl-all-noawt.jar
we surely can provide such, e.g.
jogl-basic, jogl-basic-noawt, ..
See the 'Footprint Stats' below for different JAR and Pack200 combinations.
Note that there are a few performance criteria:
[C1] Bandwidth
[C1.a] Pack200
[C1.b] Lower number of files
[C2] Caching and unpacking JARs
[C2.a] More JAR files take more time to decompress
[C2.b] Bigger JAR files may take more time to decompress
[C3] - Memory footprint
[C3.a] Correlation jar file size and memory footprint is _not_ 1:1,
since jar files are index (probably mmap'ed) and classes
loaded and compiled (hotspot) if referenced only.
[C2.b] Assuming desktop machine don't care +/- 2MB/4MB
As a rule of thumb we have figured that it is best to:
- Use less files (JAR, pack200, ..) even if the
total of all-files might be 1-2MB greater than the total of atomic files,
whether it be pack200 or JAR.
- At least on desktop machines where advanced file IO and mmap is available
the JAR file size (~ 2x of pack200) is _not_ in correlation w/ memory footprint.
And the loading of classes from a 'bigger' JAR file won't impact performance
to much.
- Bandwidth limitation (local I/O file seek included) always as a higher impact
than mmap utilization.
Ofc, on embedded devices we shall be more careful due to RAM and storage limitations,
hence the more limited 'android' and 'mobile' deployed size.
Hope this helps a bit to understand the current state of the art.
Ofc - please continue discussing the deployment size and reasoning here,
so we can make things better (iff there is a good reason to it).
Mind that the more combinations of deployment sets are provided,
the less chance of caching it properly (applet, application ..)
and the higher the user confusion maybe (and hence the more question posted here) :)
~Sven
+++
Previous Footprint Stats:
<
http://jogamp.org/git/?p=jogl.git;a=commit;h=7278244e321dd1d533223e9b6d668a6acd82bc76>
+++
(As attached - dunno how nabble forum will format them)
Footprint Stats:
This demonstrates small footprint of a minimum configuration,
all numbers in kilobytes (du -ksc).
NOTE the min size of ~ 1MB!
JOGL Deployment Payload for jar
JOGL ALL (JAR)
244 kB gluegen-rt.jar
5208 kB jogl-all.jar
4 kB libgluegen-rt.so.gz
4 kB libnativewindow_awt.so.gz
12 kB libnativewindow_x11.so.gz
100 kB libjogl_desktop.so.gz
20 kB libnewt.so.gz
5592 kB total
JOGL ALL (Pack200)
68 kB gluegen-rt.pack.gz
2892 kB jogl-all.pack.gz
4 kB libgluegen-rt.so.gz
4 kB libnativewindow_awt.so.gz
12 kB libnativewindow_x11.so.gz
100 kB libjogl_desktop.so.gz
20 kB libnewt.so.gz
3100 kB total
++
JOGL ALL no AWT (JAR)
244 kB gluegen-rt.jar
4940 kB jogl-all-noawt.jar
4 kB libgluegen-rt.so.gz
12 kB libnativewindow_x11.so.gz
100 kB libjogl_desktop.so.gz
20 kB libnewt.so.gz
5320 kB total
JOGL ALL no AWT (Pack200)
68 kB gluegen-rt.pack.gz
2836 kB jogl-all-noawt.pack.gz
4 kB libgluegen-rt.so.gz
12 kB libnativewindow_x11.so.gz
100 kB libjogl_desktop.so.gz
20 kB libnewt.so.gz
3040 kB total
++
JOGL Min X11 Min egl es1 es2 (JAR)
244 kB gluegen-rt.jar
320 kB atomic/jogl-core.jar
152 kB atomic/jogl-glmobile.jar
292 kB atomic/jogl-util.jar
76 kB atomic/nativewindow-core.jar
120 kB atomic/newt-core.jar
28 kB atomic/nativewindow-os-x11.jar
28 kB atomic/newt-driver-x11.jar
4 kB libgluegen-rt.so.gz
48 kB libjogl_mobile.so.gz
12 kB libnativewindow_x11.so.gz
20 kB libnewt.so.gz
1344 kB total
JOGL Min X11 Min egl es1 es2 (Pack200)
68 kB gluegen-rt.pack.gz
124 kB atomic/jogl-core.pack.gz
56 kB atomic/jogl-glmobile.pack.gz
104 kB atomic/jogl-util.pack.gz
24 kB atomic/nativewindow-core.pack.gz
44 kB atomic/newt-core.pack.gz
12 kB atomic/nativewindow-os-x11.pack.gz
8 kB atomic/newt-driver-x11.pack.gz
4 kB libgluegen-rt.so.gz
48 kB libjogl_mobile.so.gz
12 kB libnativewindow_x11.so.gz
20 kB libnewt.so.gz
524 kB total
++
JOGL Android - mobile egl es1 es2 (JAR)
248 kB gluegen-rt-android.jar
3056 kB jogl-all-android.jar
4 kB libgluegen-rt.so.gz
48 kB libjogl_mobile.so.gz
3356 kB total
JOGL Android - mobile egl es1 es2 (Pack200)
68 kB gluegen-rt-android.pack.gz
1980 kB jogl-all-android.pack.gz
4 kB libgluegen-rt.so.gz
48 kB libjogl_mobile.so.gz
2100 kB total
++
JOGL Min Android/Mobile Min egl es1 es2 (JAR)
248 kB gluegen-rt-android.jar
320 kB atomic/jogl-core.jar
152 kB atomic/jogl-glmobile.jar
8 kB atomic/jogl-os-android.jar
292 kB atomic/jogl-util.jar
76 kB atomic/nativewindow-core.jar
120 kB atomic/newt-core.jar
28 kB atomic/newt-driver-android.jar
4 kB libgluegen-rt.so.gz
48 kB libjogl_mobile.so.gz
1296 kB total
JOGL Min Android/Mobile Min egl es1 es2 (Pack200)
68 kB gluegen-rt-android.pack.gz
124 kB atomic/jogl-core.pack.gz
56 kB atomic/jogl-glmobile.pack.gz
4 kB atomic/jogl-os-android.pack.gz
104 kB atomic/jogl-util.pack.gz
24 kB atomic/nativewindow-core.pack.gz
44 kB atomic/newt-core.pack.gz
12 kB atomic/newt-driver-android.pack.gz
4 kB libgluegen-rt.so.gz
48 kB libjogl_mobile.so.gz
488 kB total
+++
--
health & wealth
mailto:
[hidden email] ;
http://jausoft.comland : +49 (471) 4707742 ; fax : +49 (471) 4707741
Timezone CET: PST+9, EST+6, UTC+1