Login  Register

Re: Required JOGL Jars to run Java 3D 1.6

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.com
land : +49 (471) 4707742 ; fax : +49 (471) 4707741
Timezone CET: PST+9, EST+6, UTC+1

lstjars.txt (3K) Download Attachment
signature.asc (909 bytes) Download Attachment