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

Build splashscreen lib with SIZE optimization

XMLWordPrintable

    • 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: