Issue2605

classification
Title: Jython 2.7.0 startup performance regression
Type: behaviour Severity: normal
Components: Core Versions: Jython 2.7
Milestone:
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: rpan
Priority: Keywords:

Created on 2017-07-06.19:24:37 by rpan, last changed 2017-07-06.19:24:37 by rpan.

Messages
msg11470 (view) Author: (rpan) Date: 2017-07-06.19:24:36
There was an OpenJDK issue filed for JDK9 and Jython 2.7.0 regarding Jython startup regression:
https://bugs.openjdk.java.net/browse/JDK-8166236

However this OpenJDK bug was closed since it's diagnostic as not an issue of OpenJdk. Instead, it's an issue of Jython.

I can't find a bug filed against Jython in the bugs.jython.org. So this issue is filed for tracking the Jython startup regression.

See the analysis in the OpenJdk issue https://bugs.openjdk.java.net/browse/JDK-8166236.

Below are the more testing results when running with jdk8, jdk9, Jython 2.2.1, Jython 2.7.0. 

jdk8:
]$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

jdk9:
]$ java -version
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+174)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+174, mixed mode)

============

]$ more bench.py
import java.lang 
c = java.lang.Class.forName("java.lang.Boolean") 
print c


jdk8 vs. jython 2.2.1:

    ]$ time -p java -jar /downloads/jython2.2.1/jython.jar bench.py
    java.lang.Boolean
    real 0.74
    user 1.30
    sys 0.09


jdk 8 vs. jython 2.7.0

    ]$ time -p java -jar /downloads/jython2.7.0/jython.jar bench.py
    <type 'java.lang.Boolean'>
    real 1.78
    user 3.39
    sys 0.19

jdk9 vs jython 2.2.1:

    ]$ time -p java -jar /downloads/jython2.2.1/jython.jar bench.py
    java.lang.Boolean
    real 0.76
    user 1.44
    sys 0.09


jdk9 vs jython 2.7.0:

    ]$ time -p java -jar /downloads/jython2.7.0/jython.jar bench.py
    <type 'java.lang.Boolean'>
    real 1.71
    user 3.49
    sys 0.21

jdk9 vs. jython 2.7.0 with sun.nio.ch:

    ]$ time -p java --add-exports=java.base/sun.nio.ch=ALL-UNNAMED -jar /downloads/jython2.7.0/jython.jar bench.py
    <type 'java.lang.Boolean'>
    real 1.81
    user 3.75
    sys 0.19
============

The user time with Jython 2.7.0 has increased.
History
Date User Action Args
2017-07-06 19:24:37rpancreate