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

Java 1.8.0_121 runs program at < 10% speed of Java 1.7.0_80

XMLWordPrintable

    • x86_64
    • windows_7

      FULL PRODUCT VERSION :
      java version "1.8.0_121"
      Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
      Java HotSpot(TM) Client VM (build 25.121-b13, mixed mode)
      --------- compared with ---------------------------------------
      java version "1.7.0_80"
      Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
      Java HotSpot(TM) Client VM (build 24.80-b11, mixed mode, sharing)

      java version "1.6.0_45"
      Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
      Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode, sharing)

      java version "1.5.0_22"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
      Java HotSpot(TM) Client VM (build 1.5.0_22-b03, mixed mode, sharing)


      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows [Version 6.1.7601]

      A DESCRIPTION OF THE PROBLEM :
      I have a fractal drawing program that is used in a regression test for my company. I noticed that it ran slower with 1.8 than with 1.6. I found that when drawing the fractals where there is less number crunching the program runs about 10% as fast with the latest 1.8 Java as with a previous version of 1.6 Java. That's a significant difference and I would imagine that you would like to look into that and fix it.

      I also found that when drawing fractals where there is more number crunching Java 1.8 is still noticably slower than Java 1.6 but not nearly by such a margin. Java 1.8 ran at about 88% the speed of Java 1.6 where it was mostly number crunching.

      Here are times I measured:
          LessCrunching picture took:
         1.8.0_121 50, 50 seconds today 8% speed of 1.6 and 1.5. (i.e. 2 runs, each 50 seconds)
         1.8.0_121 50 seconds today running the 1.6 javaquat jar.
         1.8.0_112 48 seconds yesterday
         1.7.0_80 46, 42 seconds today
         1.6.0_45 4, 4 seconds yesterday and today.
         1.5.0_22 4 seconds today

         MoreCrunching picture took:
         1.8.0_121 250s 88% speed of 1.6
         1.8.0_121 244s running the javaquat jar compiled with Java 1.6.0_45
         1.6.0_45 220s
         1.5.0_22 451s

        These listings show the JRE used to run the javaquat application. The same version of the JDK was used to compile except as otherwise noted above.

         You can download the javaquat fractal drawing program and the parameter sets for the more and less number crunching fractals at https://www.dropbox.com/s/u1ap7q2sln2gljs/Slowness-Feb2017-6vs7-8.zip?dl=0

         This download folder includes the folder of source and jar files compiled with various compilers as indicated by their names. It also contains the parameter set files for the fractals I timed. They are called LessCrunching.text and MoreCrunching.text. There unfortunately is no longer a build file, only a Gradle build file that is part of a largen system. (Not my idea.) But the source has no special requirements to compile and needs no libraries.

         Run the jar files with <JRE>\bin\java.exe -jar javaquat....jar

          When the program is running go to the "Windows" menu and choose the parameters window. Then go to either window's "File" menu and choose "Open JQ Parms...". Select either of the parameter files mentioned above for more or less number crunching. You will know that the file has loaded correctly if the Width and Height change to 1000 for the less crunching or 900 for the more crunching fractal. Start the fractal drawing with Ctrl-D or from the "Draw" menu. To quit the application go to "File -> Quit".


      REGRESSION. Last worked in version 6u45

      ADDITIONAL REGRESSION INFORMATION:
      java version "1.6.0_45"
      Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
      Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode, sharing)

      java version "1.5.0_22"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
      Java HotSpot(TM) Client VM (build 1.5.0_22-b03, mixed mode, sharing)


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
         You can download the javaquat fractal drawing program and the parameter sets for the more and less number crunching fractals at https://www.dropbox.com/s/u1ap7q2sln2gljs/Slowness-Feb2017-6vs7-8.zip?dl=0

         This download folder includes the folder of source and jar files compiled with various compilers as indicated by their names. It also contains the parameter set files for the fractals I timed. They are called LessCrunching.text and MoreCrunching.text. There unfortunately is no longer a build file, only a Gradle build file that is part of a largen system. (Not my idea.) But the source has no special requirements to compile and needs no libraries.

         Run the jar files with <JRE>\bin\java.exe -jar javaquat....jar

          When the program is running go to the "Windows" menu and choose the parameters window. Then go to either window's "File" menu and choose "Open JQ Parms...". Select either of the parameter files mentioned above for more or less number crunching. You will know that the file has loaded correctly if the Width and Height change to 1000 for the less crunching or 900 for the more crunching fractal. Start the fractal drawing with Ctrl-D or from the "Draw" menu. To quit the application go to "File -> Quit".


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      The LessCrunching.text parameters produce a fractal that should be drawn in about 4 seconds.

      The MoreCrunching.text parameters produce a fractal that should be drawn in about 220 seconds.
      ACTUAL -
      The LessCrunching.text parameters produce a fractal that is drawn in about 50 seconds.

      The MoreCrunching.text parameters produce a fractal that is drawn in about 250 seconds.

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
        You can download the javaquat fractal drawing program and the parameter sets for the more and less number crunching fractals at https://www.dropbox.com/s/u1ap7q2sln2gljs/Slowness-Feb2017-6vs7-8.zip?dl=0
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Use Java 1.6

            fmatte Fairoz Matte
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: