Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8349378

Build splashscreen lib with SIZE optimization

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 25
    • 25
    • client-libs
    • None
    • b11
    • generic
    • generic

      The splashscreen lib is currently built with LOW optimization.
      This might be fine because it is not very performance critical.
      But building it with SIZE optimization makes it 10-20 % smaller on some platforms which helps to reduce image size.
      Results are from gcc 11.3 on Linux x86_64 / ppc64le / aarch64 . macOS uses XCode 15.4 .

      current settings (LOW optimization) :
      ---------------------------------------------------
      2.5M /aix_ppc64/jdk-opt/images/jdk/lib/libsplashscreen.so

      468K /macosaarch64/jdk-opt/images/jdk/lib/libsplashscreen.dylib
      1.6M /macosaarch64/jdk-opt/images/jdk/lib/libsplashscreen.dylib.dSYM
      388K /macosintel64/jdk-opt/images/jdk/lib/libsplashscreen.dylib
      1.5M /macosintel64/jdk-opt/images/jdk/lib/libsplashscreen.dylib.dSYM

      368K /linux_aarch64/jdk-opt/images/jdk/lib/libsplashscreen.so
      1.7M /linux_aarch64/jdk-opt/images/jdk/lib/libsplashscreen.debuginfo
      376K /linux_alpine_x86_64/jdk-opt/images/jdk/lib/libsplashscreen.so
      1.8M /linux_alpine_x86_64/jdk-opt/images/jdk/lib/libsplashscreen.debuginfo
      500K /linux_ppc64le/jdk-opt/images/jdk/lib/libsplashscreen.so
      1.7M /linux_ppc64le/jdk-opt/images/jdk/lib/libsplashscreen.debuginfo
      364K /linux_x86_64/jdk-opt/images/jdk/lib/libsplashscreen.so
      1.7M /linux_x86_64/jdk-opt/images/jdk/lib/libsplashscreen.debuginfo


      new settings (SIZE optimization) :
      --------------------------------------------------
      2.1M /aix_ppc64/jdk-dev-opt/images/jdk/lib/libsplashscreen.so

      404K /macosaarch64/jdk-dev-opt/images/jdk/lib/libsplashscreen.dylib
      1.5M /macosaarch64/jdk-dev-opt/images/jdk/lib/libsplashscreen.dylib.dSYM
      316K /macosintel64/jdk-dev-opt/images/jdk/lib/libsplashscreen.dylib
      1.4M /macosintel64/jdk-dev-opt/images/jdk/lib/libsplashscreen.dylib.dSYM

      372K /linux_aarch64/jdk-dev-opt/images/jdk/lib/libsplashscreen.so
      1.5M /linux_aarch64/jdk-dev-opt/images/jdk/lib/libsplashscreen.debuginfo
      304K /linux_alpine_x86_64/jdk-dev-opt/images/jdk/lib/libsplashscreen.so
      1.5M /linux_alpine_x86_64/jdk-dev-opt/images/jdk/lib/libsplashscreen.debuginfo
      376K /linux_ppc64le/jdk-dev-opt/images/jdk/lib/libsplashscreen.so
      1.4M /linux_ppc64le/jdk-dev-opt/images/jdk/lib/libsplashscreen.debuginfo
      304K /linux_x86_64/jdk-dev-opt/images/jdk/lib/libsplashscreen.so
      1.4M /linux_x86_64/jdk-dev-opt/images/jdk/lib/libsplashscreen.debuginfo

      On Linux aarch64 only the debuginfo shrinks but the lib stays about the same in size. Maybe -Os does not work as well on this platform.
      Other UNIX platforms have a reduction by ~ 10-20 % .
      For Windows, LOW and SIZE optimization have currently the same O - flags so no reduction.


            mbaesken Matthias Baesken
            mbaesken Matthias Baesken
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: