├── maven-opts ├── Pipfile ├── README.md ├── prepare.sh ├── run-benchmark.sh ├── results.csv └── Pipfile.lock ├── javac-native ├── Pipfile ├── settings.xml ├── README.md ├── javac_results.csv ├── Javac.java ├── prepare.sh ├── mvn_no_tests_results.csv ├── mvn_results.csv ├── run-benchmark.sh └── Pipfile.lock ├── .editorconfig ├── README.md ├── .gitattributes ├── LICENSE └── .gitignore /maven-opts/Pipfile: -------------------------------------------------------------------------------- 1 | [[source]] 2 | url = "https://pypi.org/simple" 3 | verify_ssl = true 4 | name = "pypi" 5 | 6 | [dev-packages] 7 | 8 | [packages] 9 | jupyter = "*" 10 | pandas = "*" 11 | plotly = "*" 12 | 13 | [requires] 14 | python_version = "2.7" 15 | -------------------------------------------------------------------------------- /javac-native/Pipfile: -------------------------------------------------------------------------------- 1 | [[source]] 2 | url = "https://pypi.org/simple" 3 | verify_ssl = true 4 | name = "pypi" 5 | 6 | [dev-packages] 7 | 8 | [packages] 9 | jupyter = "*" 10 | pandas = "*" 11 | plotly = "*" 12 | 13 | [requires] 14 | python_version = "2.7" 15 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig: http://EditorConfig.org 2 | 3 | # Top-most EditorConfig file 4 | root = true 5 | 6 | # Defaults for all editor files 7 | [*] 8 | insert_final_newline = true 9 | indent_style = space 10 | indent_size = 4 11 | continuation_indent_size = 8 12 | trim_trailing_whitespace = true 13 | max_line_length = 120 14 | 15 | # Markdown is fussy about indenting 16 | [*.md] 17 | indent_style = space 18 | indent_size = 4 19 | trim_trailing_whitespaces = false 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Maven Benchmarks 2 | 3 | * [MAVEN_OPTS](https://github.com/gantsign/maven-benchmarks/blob/master/maven-opts/README.md) 4 | * [GraalVM native javac](https://github.com/gantsign/maven-benchmarks/blob/master/javac-native/README.md) 5 | 6 | ## License 7 | 8 | This software is licensed under the terms in the file named "[LICENSE](LICENSE)" 9 | in the root directory of this project. 10 | 11 | ## Author Information 12 | 13 | John Freeman 14 | 15 | GantSign Ltd. 16 | Company No. 06109112 (registered in England) 17 | -------------------------------------------------------------------------------- /javac-native/settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | javac-native 9 | 10 | true 11 | 12 | 13 | true 14 | javac-native 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | * text=auto 3 | 4 | # Explicitly declare text files you want to always be normalized and converted 5 | # to native line endings on checkout. 6 | .editorconfig text 7 | .gitattributes text 8 | .gitignore text 9 | *.css text 10 | *.htm text 11 | *.html text 12 | *.iml text 13 | *.java text 14 | *.js text 15 | *.json text 16 | *.kt text 17 | *.kts text 18 | *.md text 19 | *.properties text 20 | *.py text 21 | *.svg text 22 | *.ts text 23 | *.txt text 24 | *.xhtml text 25 | *.xml text 26 | *.yaml text 27 | *.yml text 28 | LICENSE text 29 | Pipfile text 30 | Pipfile.lock text 31 | 32 | # Declare files that will always have CRLF line endings on checkout. 33 | *.bat text eol=crlf 34 | *.cmd text eol=crlf 35 | 36 | # Declare files that will always have LF line endings on checkout. 37 | *.sh text eol=lf 38 | 39 | # Denote all files that are truly binary and should not be modified. 40 | *.gif binary 41 | *.gz binary 42 | *.ico binary 43 | *.jar binary 44 | *.jpeg binary 45 | *.jpg binary 46 | *.png binary 47 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /maven-opts/README.md: -------------------------------------------------------------------------------- 1 | # Maven MAVEN_OPTS Benchmarks 2 | 3 | ## Prerequisites 4 | 5 | * Ubuntu Linux 6 | 7 | * Python 8 | 9 | Install with: `sudo apt install python` 10 | 11 | * Python PIP 12 | 13 | Install with: `sudo apt install python-pip` 14 | 15 | * [pyenv](https://github.com/pyenv/pyenv) 16 | 17 | Install with: `curl https://pyenv.run | bash` 18 | 19 | * [pipenv](https://github.com/pypa/pipenv) 20 | 21 | Install with: `pip install --user pipenv` 22 | 23 | **Once you've installed the dependencies you need to restart your terminal window.** 24 | 25 | ## Install project Python dependencies 26 | 27 | Run the following from the project root: 28 | 29 | ```bash 30 | cd maven-opts 31 | pipenv install 32 | ``` 33 | 34 | ## Install other project dependencies 35 | 36 | You only need to run this once. Run the following from the project root: 37 | 38 | ```bash 39 | cd maven-opts 40 | ./prepare.sh 41 | ``` 42 | 43 | ## Run benchmark 44 | 45 | This will run the benchmark and write the results to `results.csv`. Run the 46 | following from the project root: 47 | 48 | ``` 49 | cd maven-opts 50 | ./run-benchmark.sh 51 | ``` 52 | 53 | **Warning:** running the benchmark takes a few hours. You can skip this step to 54 | view my results. 55 | 56 | ## View results 57 | 58 | Run the following from the project root: 59 | 60 | ```bash 61 | cd maven-opts 62 | pipenv run jupiter notebook 63 | ``` 64 | 65 | Look for a URL like `http://localhost:8888/?token=` in the console output 66 | and open thee URL in your web browser. 67 | 68 | Navigate to `JdkBenchmarks.ipynb` to to view the results. 69 | 70 | ## Test environment 71 | 72 | The Machine I used for testing was a 73 | [Lenovo YOGA 900 13ISK](https://www.notebookcheck.net/Lenovo-Yoga-900-13ISK-Convertible-Review.154217.0.html) 74 | running Ubuntu Bionic under Oracle VirtualBox 5.2.16 using a Intel Core i7-6500U 75 | CPU and 512 GB SSD. 76 | 77 | ## License 78 | 79 | This software is licensed under the terms in the file named "[LICENSE](LICENSE)" 80 | in the root directory of this project. 81 | 82 | ## Author Information 83 | 84 | John Freeman 85 | 86 | GantSign Ltd. 87 | Company No. 06109112 (registered in England) 88 | -------------------------------------------------------------------------------- /maven-opts/prepare.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | mkdir -p tmp 6 | 7 | dependencies=( 8 | "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/\ 9 | jdk8u212-b03/OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz" 10 | 11 | "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/\ 12 | jdk8u212-b03_openj9-0.14.0/OpenJDK8U-jdk_x64_linux_openj9_8u212b03_openj9-0.14.0.tar.gz" 13 | 14 | "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/\ 15 | jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz" 16 | 17 | "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/\ 18 | jdk-11.0.3%2B7_openj9-0.14.0/OpenJDK11U-jdk_x64_linux_openj9_11.0.3_7_openj9-0.14.0.tar.gz" 19 | 20 | "http://mirror.ox.ac.uk/sites/rsync.apache.org/maven/maven-3/3.6.1/binaries/\ 21 | apache-maven-3.6.1-bin.tar.gz" 22 | ) 23 | 24 | prepare() { 25 | for i in "${dependencies[@]}" 26 | do 27 | (set -x; wget --no-clobber "$i") 28 | done 29 | 30 | (set -x; tar --extract \ 31 | --transform 's|jdk8u212-b03|jdk/8u212|' --file \ 32 | 'OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz') 33 | 34 | (set -x; tar --extract \ 35 | --transform 's|jdk8u212-b03|jdk/8u212_openj9|' --file \ 36 | 'OpenJDK8U-jdk_x64_linux_openj9_8u212b03_openj9-0.14.0.tar.gz') 37 | 38 | (set -x; tar --extract \ 39 | --transform 's|jdk-11.0.3+7|jdk/11.0.3|' --file \ 40 | 'OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz') 41 | 42 | (set -x; tar --extract \ 43 | --transform 's|jdk-11.0.3+7|jdk/11.0.3_openj9|' --file \ 44 | 'OpenJDK11U-jdk_x64_linux_openj9_11.0.3_7_openj9-0.14.0.tar.gz') 45 | 46 | (set -x; tar --extract \ 47 | --transform 's|apache-maven-3.6.1|maven/3.6.1|' --file \ 48 | 'apache-maven-3.6.1-bin.tar.gz') 49 | 50 | (set -x; rm -rf commons-collections) 51 | 52 | # Checkout a specific commit because the latest release doesn't contain a 53 | # Java 11 fix. 54 | (set -x; git clone --shallow-since=2019-03-24 \ 55 | 'https://github.com/apache/commons-collections.git') 56 | (cd commons-collections && set -x; \ 57 | git checkout 68948279bc8d54ed5f54ea84243a9182d868e016) 58 | 59 | # These tests cause intermittent failures on OpenJ9: java.lang.OutOfMemoryError: Java heap space 60 | rm commons-collections/src/test/java/org/apache/commons/collections4/map/ReferenceIdentityMapTest.java 61 | rm commons-collections/src/test/java/org/apache/commons/collections4/map/ReferenceMapTest.java 62 | } 63 | 64 | (cd tmp && prepare) 65 | -------------------------------------------------------------------------------- /maven-opts/run-benchmark.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | base_path="$(pwd)/tmp/maven/3.6.1/bin:$PATH" 6 | 7 | results_file="$(pwd)/results.csv" 8 | 9 | benchmark() { 10 | test_name="$1" 11 | 12 | export JAVA_HOME="$(pwd)/tmp/jdk/$jdk_name" 13 | export PATH="$JAVA_HOME/bin:$base_path" 14 | export MAVEN_OPTS="-Xmx512m $2" 15 | 16 | # Not supported by OpenJ9 17 | java -Xshare:dump &>/dev/null || true 18 | 19 | # Not supported by HotSpot 20 | java -Xshareclasses:destroyAll &>/dev/null || true 21 | 22 | # delete untracked files 23 | (cd tmp/commons-collections &>/dev/null && git clean --force) 24 | 25 | # warmup run 26 | (cd tmp/commons-collections &>/dev/null && \ 27 | mvn --quiet clean install) 28 | 29 | for i in {1..10} 30 | do 31 | (cd tmp/commons-collections &>/dev/null && git clean --force) 32 | (cd tmp/commons-collections &>/dev/null && /usr/bin/time \ 33 | "--format=$jdk_name,$test_name,%e" \ 34 | mvn --quiet clean install \ 35 | ) 2>&1 | tee --append "$results_file" 36 | done 37 | } 38 | 39 | printf '' > "$results_file" 40 | 41 | jdk_name='8u212' 42 | benchmark 'baseline' '-Xshare:off' 43 | benchmark 'throughput gc' '-Xshare:off -XX:+UseParallelGC' 44 | benchmark 'CDS' '-Xshare:on' 45 | benchmark 'C1 only' '-Xshare:off -XX:TieredStopAtLevel=1' 46 | benchmark 'no verify' '-Xshare:off -Xverify:none' 47 | benchmark 'tuned' '-Xshare:on -XX:TieredStopAtLevel=1 -XX:+UseParallelGC -Xverify:none' 48 | 49 | jdk_name='8u212_openj9' 50 | benchmark 'baseline' '' 51 | benchmark 'throughput gc' '-Xgcpolicy:optthruput' 52 | benchmark 'class cache' '-Xshareclasses:name=mvn -DargLine=-Xshareclasses:none' 53 | benchmark 'quick start' '-Xquickstart' 54 | benchmark 'no verify' '-Xverify:none' 55 | benchmark 'tuned' '-Xquickstart -Xshareclasses:name=mvn -DargLine=-Xquickstart -Xverify:none' 56 | 57 | jdk_name='11.0.3' 58 | benchmark 'baseline' '-Xshare:off' 59 | benchmark 'throughput gc' '-Xshare:off -XX:+UseParallelGC' 60 | benchmark 'CDS' '-Xshare:on' 61 | benchmark 'C1 only' '-Xshare:off -XX:TieredStopAtLevel=1' 62 | benchmark 'no verify' '-Xshare:off -Xverify:none' 63 | benchmark 'tuned' '-Xshare:on -XX:TieredStopAtLevel=1 -XX:+UseParallelGC -Xverify:none' 64 | 65 | jdk_name='11.0.3_openj9' 66 | benchmark 'baseline' '' 67 | benchmark 'throughput gc' '-Xgcpolicy:optthruput' 68 | benchmark 'class cache' '-Xshareclasses:name=mvn -DargLine=-Xshareclasses:none' 69 | benchmark 'quick start' '-Xquickstart' 70 | benchmark 'no verify' '-Xverify:none' 71 | benchmark 'tuned' '-Xquickstart -Xshareclasses:name=mvn -DargLine=-Xquickstart -Xverify:none' 72 | -------------------------------------------------------------------------------- /javac-native/README.md: -------------------------------------------------------------------------------- 1 | # Maven Native Javac Benchmarks 2 | 3 | **Note:** the scripts have been updated to support GraalVM 19.3.1 but the data 4 | hasn't been updated with new benchmark results. The the data remains the same as 5 | the [Native javac built with GraalVM](https://medium.com/@john_freeman/native-javac-with-graalvm-ddcc18a53edb) 6 | Medium article. 7 | 8 | To view the benchmark script as used in the Medium article view the [medium-29Apr2019](https://github.com/gantsign/maven-benchmarks/tree/medium-29Apr2019/javac-native) tag. 9 | 10 | ## Prerequisites 11 | 12 | * Ubuntu Linux 13 | 14 | * Python 15 | 16 | Install with: `sudo apt install python` 17 | 18 | * Python PIP 19 | 20 | Install with: `sudo apt install python-pip` 21 | 22 | * [pyenv](https://github.com/pyenv/pyenv) 23 | 24 | Install with: `curl https://pyenv.run | bash` 25 | 26 | * [pipenv](https://github.com/pypa/pipenv) 27 | 28 | Install with: `pip install --user pipenv` 29 | 30 | **Once you've installed the dependencies you need to restart your terminal window.** 31 | 32 | ## Install project Python dependencies 33 | 34 | Run the following from the project root: 35 | 36 | ```bash 37 | cd javac-native 38 | pipenv install 39 | ``` 40 | 41 | ## Install other project dependencies 42 | 43 | You only need to run this once. Run the following from the project root: 44 | 45 | ```bash 46 | cd javac-native 47 | ./prepare.sh 48 | ``` 49 | 50 | ## Run benchmark 51 | 52 | This will run the benchmark and write the results to `results.csv`. Run the 53 | following from the project root: 54 | 55 | ``` 56 | cd javac-native 57 | ./run-benchmark.sh 58 | ``` 59 | 60 | **Warning:** running the benchmark takes a few hours. You can skip this step to 61 | view my results. 62 | 63 | ## View results 64 | 65 | Run the following from the project root: 66 | 67 | ```bash 68 | cd javac-native 69 | pipenv run jupiter notebook 70 | ``` 71 | 72 | Look for a URL like `http://localhost:8888/?token=` in the console output 73 | and open thee URL in your web browser. 74 | 75 | Navigate to `JavacNative.ipynb`, `MavenJavacNative.ipynb`, 76 | `MavenNoTestsJavacNative.ipynb` to to view the results. 77 | 78 | ## Test environment 79 | 80 | The Machine I used for testing was a 81 | [Lenovo YOGA 900 13ISK](https://www.notebookcheck.net/Lenovo-Yoga-900-13ISK-Convertible-Review.154217.0.html) 82 | running Ubuntu Bionic under Oracle VirtualBox 5.2.16 using a Intel Core i7-6500U 83 | CPU and 512 GB SSD. 84 | 85 | ## License 86 | 87 | This software is licensed under the terms in the file named "[LICENSE](LICENSE)" 88 | in the root directory of this project. 89 | 90 | ## Author Information 91 | 92 | John Freeman 93 | 94 | GantSign Ltd. 95 | Company No. 06109112 (registered in England) 96 | -------------------------------------------------------------------------------- /javac-native/javac_results.csv: -------------------------------------------------------------------------------- 1 | 8u212,baseline,7.58 2 | 8u212,baseline,6.71 3 | 8u212,baseline,6.36 4 | 8u212,baseline,6.29 5 | 8u212,baseline,6.65 6 | 8u212,baseline,6.40 7 | 8u212,baseline,6.49 8 | 8u212,baseline,6.24 9 | 8u212,baseline,6.24 10 | 8u212,baseline,6.68 11 | 8u212,tuned,4.20 12 | 8u212,tuned,4.40 13 | 8u212,tuned,4.55 14 | 8u212,tuned,4.40 15 | 8u212,tuned,4.52 16 | 8u212,tuned,4.56 17 | 8u212,tuned,4.40 18 | 8u212,tuned,4.49 19 | 8u212,tuned,4.39 20 | 8u212,tuned,4.53 21 | 8u212_openj9,baseline,17.22 22 | 8u212_openj9,baseline,18.04 23 | 8u212_openj9,baseline,15.44 24 | 8u212_openj9,baseline,16.68 25 | 8u212_openj9,baseline,15.88 26 | 8u212_openj9,baseline,16.31 27 | 8u212_openj9,baseline,16.06 28 | 8u212_openj9,baseline,14.81 29 | 8u212_openj9,baseline,16.95 30 | 8u212_openj9,baseline,13.99 31 | 8u212_openj9,tuned,4.51 32 | 8u212_openj9,tuned,4.55 33 | 8u212_openj9,tuned,3.94 34 | 8u212_openj9,tuned,3.94 35 | 8u212_openj9,tuned,4.05 36 | 8u212_openj9,tuned,4.04 37 | 8u212_openj9,tuned,4.02 38 | 8u212_openj9,tuned,3.95 39 | 8u212_openj9,tuned,3.96 40 | 8u212_openj9,tuned,4.04 41 | 8u202_graalvm-ce,baseline,7.18 42 | 8u202_graalvm-ce,baseline,7.54 43 | 8u202_graalvm-ce,baseline,7.44 44 | 8u202_graalvm-ce,baseline,7.39 45 | 8u202_graalvm-ce,baseline,7.36 46 | 8u202_graalvm-ce,baseline,7.38 47 | 8u202_graalvm-ce,baseline,7.39 48 | 8u202_graalvm-ce,baseline,7.39 49 | 8u202_graalvm-ce,baseline,7.28 50 | 8u202_graalvm-ce,baseline,7.56 51 | 8u202_graalvm-ce,tuned,6.97 52 | 8u202_graalvm-ce,tuned,7.39 53 | 8u202_graalvm-ce,tuned,7.11 54 | 8u202_graalvm-ce,tuned,7.34 55 | 8u202_graalvm-ce,tuned,7.13 56 | 8u202_graalvm-ce,tuned,7.23 57 | 8u202_graalvm-ce,tuned,7.03 58 | 8u202_graalvm-ce,tuned,7.34 59 | 8u202_graalvm-ce,tuned,6.99 60 | 8u202_graalvm-ce,tuned,7.26 61 | 8u202_graalvm-ce,native,2.57 62 | 8u202_graalvm-ce,native,2.61 63 | 8u202_graalvm-ce,native,2.61 64 | 8u202_graalvm-ce,native,2.65 65 | 8u202_graalvm-ce,native,2.62 66 | 8u202_graalvm-ce,native,2.58 67 | 8u202_graalvm-ce,native,2.61 68 | 8u202_graalvm-ce,native,2.64 69 | 8u202_graalvm-ce,native,2.57 70 | 8u202_graalvm-ce,native,2.60 71 | 11.0.3,baseline,7.58 72 | 11.0.3,baseline,8.11 73 | 11.0.3,baseline,8.40 74 | 11.0.3,baseline,7.98 75 | 11.0.3,baseline,8.07 76 | 11.0.3,baseline,8.14 77 | 11.0.3,baseline,7.10 78 | 11.0.3,baseline,8.10 79 | 11.0.3,baseline,9.21 80 | 11.0.3,baseline,8.29 81 | 11.0.3,tuned,4.75 82 | 11.0.3,tuned,5.00 83 | 11.0.3,tuned,4.99 84 | 11.0.3,tuned,4.87 85 | 11.0.3,tuned,4.91 86 | 11.0.3,tuned,4.82 87 | 11.0.3,tuned,4.77 88 | 11.0.3,tuned,5.08 89 | 11.0.3,tuned,5.01 90 | 11.0.3,tuned,5.00 91 | 11.0.3_openj9,baseline,19.20 92 | 11.0.3_openj9,baseline,19.76 93 | 11.0.3_openj9,baseline,19.70 94 | 11.0.3_openj9,baseline,19.02 95 | 11.0.3_openj9,baseline,19.16 96 | 11.0.3_openj9,baseline,19.60 97 | 11.0.3_openj9,baseline,18.37 98 | 11.0.3_openj9,baseline,19.18 99 | 11.0.3_openj9,baseline,19.40 100 | 11.0.3_openj9,baseline,19.85 101 | 11.0.3_openj9,tuned,5.22 102 | 11.0.3_openj9,tuned,5.28 103 | 11.0.3_openj9,tuned,5.35 104 | 11.0.3_openj9,tuned,4.91 105 | 11.0.3_openj9,tuned,4.80 106 | 11.0.3_openj9,tuned,5.01 107 | 11.0.3_openj9,tuned,4.59 108 | 11.0.3_openj9,tuned,4.85 109 | 11.0.3_openj9,tuned,4.84 110 | 11.0.3_openj9,tuned,4.89 111 | -------------------------------------------------------------------------------- /javac-native/Javac.java: -------------------------------------------------------------------------------- 1 | import com.sun.tools.javac.Main; 2 | import java.nio.file.Files; 3 | import java.nio.file.Path; 4 | import java.nio.file.Paths; 5 | import java.util.ArrayList; 6 | import java.util.Arrays; 7 | import java.util.List; 8 | 9 | import static java.io.File.pathSeparator; 10 | 11 | public class Javac { 12 | 13 | private static String pathString(String first, String... more) { 14 | return Paths.get(first, more).toString(); 15 | } 16 | 17 | public static void main(String[] args) throws Exception { 18 | String jdkHome = System.getenv("GRAAL_HOME"); 19 | if (jdkHome == null || jdkHome.trim().isEmpty()) { 20 | System.err.println("Error: Environment variable GRAAL_HOME missing"); 21 | System.exit(1); 22 | } 23 | if (!Files.exists(Paths.get(jdkHome, "jre", "lib", "rt.jar"))) { 24 | System.err.println("Error: Environment variable GRAAL_HOME points to invalid location"); 25 | System.exit(1); 26 | } 27 | 28 | // Limited compatibility with Java 11 javac 29 | ArrayList argsList = new ArrayList<>(Arrays.asList(args)); 30 | for (int i = 0; i < argsList.size() - 1;) { 31 | if (!"--release".equals(argsList.get(i)) || !"8".equals(argsList.get(i + 1))) { 32 | i++; 33 | continue; 34 | } 35 | 36 | argsList.remove(i); 37 | argsList.remove(i); 38 | 39 | if (!argsList.contains("-source")) { 40 | argsList.add("-source"); 41 | argsList.add("8"); 42 | } 43 | 44 | if (!argsList.contains("-target")) { 45 | argsList.add("-target"); 46 | argsList.add("8"); 47 | } 48 | } 49 | 50 | System.setProperty("java.class.path", "."); 51 | System.setProperty("java.endorsed.dirs", 52 | pathString(jdkHome, "jre", "lib", "endorsed")); 53 | System.setProperty("java.ext.dirs", 54 | pathString(jdkHome, "jre", "lib", "ext") + pathSeparator + 55 | pathString("/usr", "java", "packages", "lib" , "ext")); 56 | System.setProperty("java.home", pathString(jdkHome, "jre")); 57 | System.setProperty("sun.boot.class.path", 58 | pathString(jdkHome, "jre", "lib", "resources.jar") + pathSeparator + 59 | pathString(jdkHome, "jre", "lib", "rt.jar") + pathSeparator + 60 | pathString(jdkHome, "jre", "lib", "sunrsasign.jar") + pathSeparator + 61 | pathString(jdkHome, "jre", "lib", "jsse.jar") + pathSeparator + 62 | pathString(jdkHome, "jre", "lib", "jce.jar") + pathSeparator + 63 | pathString(jdkHome, "jre", "lib", "charsets.jar") + pathSeparator + 64 | pathString(jdkHome, "jre", "lib", "jfr.jar") + pathSeparator + 65 | pathString(jdkHome, "jre", "lib", "jvmci-services.jar") + pathSeparator + 66 | pathString(jdkHome, "jre", "classes") + pathSeparator + 67 | pathString(jdkHome, "jre", "lib", "boot", "graaljs-scriptengine.jar") + pathSeparator + 68 | pathString(jdkHome, "jre", "lib", "boot", "graal-sdk.jar") + pathSeparator + 69 | pathString(jdkHome, "jre", "lib", "boot", "graal-sdk.src.zip")); 70 | 71 | Main.main(argsList.toArray(new String[0])); 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /javac-native/prepare.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | mkdir -p tmp/bin 6 | 7 | dependencies=( 8 | "https://github.com/graalvm/graalvm-ce-builds/releases/download/\ 9 | vm-19.3.1/graalvm-ce-java8-linux-amd64-19.3.1.tar.gz" 10 | 11 | "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/\ 12 | jdk8u242-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u242b08.tar.gz" 13 | 14 | "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/\ 15 | jdk8u242-b08_openj9-0.18.1/OpenJDK8U-jdk_x64_linux_openj9_8u242b08_openj9-0.18.1.tar.gz" 16 | 17 | "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/\ 18 | jdk-11.0.6%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.6_10.tar.gz" 19 | 20 | "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/\ 21 | jdk-11.0.6%2B10_openj9-0.18.1/OpenJDK11U-jdk_x64_linux_openj9_11.0.6_10_openj9-0.18.1.tar.gz" 22 | 23 | "http://mirror.ox.ac.uk/sites/rsync.apache.org/maven/maven-3/\ 24 | 3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz" 25 | ) 26 | 27 | prepare() { 28 | for i in "${dependencies[@]}" 29 | do 30 | (set -x; wget --no-clobber "$i") 31 | done 32 | 33 | (set -x; tar --extract \ 34 | --transform 's|graalvm-ce-java8-19.3.1|jdk/8u242_graalvm-ce|' --file \ 35 | 'graalvm-ce-java8-linux-amd64-19.3.1.tar.gz') 36 | 37 | (set -x; tar --extract \ 38 | --transform 's|jdk8u242-b08|jdk/8u242|' --file \ 39 | 'OpenJDK8U-jdk_x64_linux_hotspot_8u242b08.tar.gz') 40 | 41 | (set -x; tar --extract \ 42 | --transform 's|jdk8u242-b08|jdk/8u242_openj9|' --file \ 43 | 'OpenJDK8U-jdk_x64_linux_openj9_8u242b08_openj9-0.18.1.tar.gz') 44 | 45 | (set -x; tar --extract \ 46 | --transform 's|jdk-11.0.6+10|jdk/11.0.6|' --file \ 47 | 'OpenJDK11U-jdk_x64_linux_hotspot_11.0.6_10.tar.gz') 48 | 49 | (set -x; tar --extract \ 50 | --transform 's|jdk-11.0.6+10|jdk/11.0.6_openj9|' --file \ 51 | 'OpenJDK11U-jdk_x64_linux_openj9_11.0.6_10_openj9-0.18.1.tar.gz') 52 | 53 | (set -x; tar --extract \ 54 | --transform 's|apache-maven-3.6.3|maven/3.6.3|' --file \ 55 | 'apache-maven-3.6.3-bin.tar.gz') 56 | 57 | (set -x; rm -rf commons-collections) 58 | 59 | # Checkout a specific commit because the latest release doesn't contain a 60 | # Java 11 fix. 61 | (set -x; git clone --shallow-since=2019-03-24 \ 62 | 'https://github.com/apache/commons-collections.git') 63 | (cd commons-collections && set -x; \ 64 | git checkout 68948279bc8d54ed5f54ea84243a9182d868e016) 65 | 66 | # These tests cause intermittent failures on OpenJ9: java.lang.OutOfMemoryError: Java heap space 67 | rm commons-collections/src/test/java/org/apache/commons/collections4/map/ReferenceIdentityMapTest.java 68 | rm commons-collections/src/test/java/org/apache/commons/collections4/map/ReferenceMapTest.java 69 | 70 | export GRAAL_HOME="$PWD/jdk/8u242_graalvm-ce" 71 | 72 | (set -x; "$GRAAL_HOME/bin/javac" \ 73 | -classpath "$GRAAL_HOME/lib/tools.jar" ../Javac.java) 74 | 75 | (set -x; "$GRAAL_HOME/bin/gu" install native-image) 76 | 77 | (set -x; "$GRAAL_HOME/bin/native-image" --no-server \ 78 | -H:IncludeResourceBundles=com.sun.tools.javac.resources.compiler,com.sun.tools.javac.resources.javac \ 79 | --no-fallback \ 80 | -H:+NativeArchitecture \ 81 | -H:Name=javac-native "-H:Path=$PWD/bin" \ 82 | -cp "..:$GRAAL_HOME/lib/tools.jar" \ 83 | Javac) 84 | } 85 | 86 | (cd tmp && prepare) 87 | -------------------------------------------------------------------------------- /javac-native/mvn_no_tests_results.csv: -------------------------------------------------------------------------------- 1 | 8u212,baseline,22.75 2 | 8u212,baseline,24.07 3 | 8u212,baseline,24.35 4 | 8u212,baseline,24.12 5 | 8u212,baseline,24.98 6 | 8u212,baseline,24.30 7 | 8u212,baseline,25.87 8 | 8u212,baseline,23.94 9 | 8u212,baseline,23.62 10 | 8u212,baseline,24.59 11 | 8u212,baseline+native,18.59 12 | 8u212,baseline+native,19.16 13 | 8u212,baseline+native,19.07 14 | 8u212,baseline+native,19.19 15 | 8u212,baseline+native,19.85 16 | 8u212,baseline+native,19.22 17 | 8u212,baseline+native,20.12 18 | 8u212,baseline+native,18.94 19 | 8u212,baseline+native,19.37 20 | 8u212,baseline+native,20.50 21 | 8u212,tuned,17.66 22 | 8u212,tuned,17.67 23 | 8u212,tuned,17.62 24 | 8u212,tuned,17.63 25 | 8u212,tuned,17.79 26 | 8u212,tuned,17.65 27 | 8u212,tuned,17.63 28 | 8u212,tuned,17.81 29 | 8u212,tuned,17.79 30 | 8u212,tuned,17.46 31 | 8u212,tuned+native,15.42 32 | 8u212,tuned+native,15.50 33 | 8u212,tuned+native,15.43 34 | 8u212,tuned+native,15.52 35 | 8u212,tuned+native,15.46 36 | 8u212,tuned+native,16.18 37 | 8u212,tuned+native,15.30 38 | 8u212,tuned+native,15.55 39 | 8u212,tuned+native,15.29 40 | 8u212,tuned+native,15.69 41 | 8u212_openj9,baseline,36.96 42 | 8u212_openj9,baseline,40.74 43 | 8u212_openj9,baseline,39.79 44 | 8u212_openj9,baseline,40.09 45 | 8u212_openj9,baseline,37.88 46 | 8u212_openj9,baseline,40.12 47 | 8u212_openj9,baseline,37.67 48 | 8u212_openj9,baseline,39.68 49 | 8u212_openj9,baseline,38.57 50 | 8u212_openj9,baseline,40.06 51 | 8u212_openj9,baseline+native,27.28 52 | 8u212_openj9,baseline+native,27.29 53 | 8u212_openj9,baseline+native,28.91 54 | 8u212_openj9,baseline+native,26.19 55 | 8u212_openj9,baseline+native,26.79 56 | 8u212_openj9,baseline+native,26.37 57 | 8u212_openj9,baseline+native,26.38 58 | 8u212_openj9,baseline+native,26.29 59 | 8u212_openj9,baseline+native,27.82 60 | 8u212_openj9,baseline+native,26.03 61 | 8u212_openj9,tuned,20.44 62 | 8u212_openj9,tuned,20.48 63 | 8u212_openj9,tuned,20.64 64 | 8u212_openj9,tuned,21.24 65 | 8u212_openj9,tuned,20.22 66 | 8u212_openj9,tuned,20.76 67 | 8u212_openj9,tuned,20.33 68 | 8u212_openj9,tuned,20.40 69 | 8u212_openj9,tuned,20.60 70 | 8u212_openj9,tuned,20.48 71 | 8u212_openj9,tuned+native,16.54 72 | 8u212_openj9,tuned+native,16.27 73 | 8u212_openj9,tuned+native,15.99 74 | 8u212_openj9,tuned+native,15.86 75 | 8u212_openj9,tuned+native,15.91 76 | 8u212_openj9,tuned+native,15.80 77 | 8u212_openj9,tuned+native,15.75 78 | 8u212_openj9,tuned+native,15.83 79 | 8u212_openj9,tuned+native,15.66 80 | 8u212_openj9,tuned+native,16.56 81 | 8u202_graalvm-ce,baseline,25.70 82 | 8u202_graalvm-ce,baseline,26.07 83 | 8u202_graalvm-ce,baseline,25.96 84 | 8u202_graalvm-ce,baseline,26.24 85 | 8u202_graalvm-ce,baseline,26.25 86 | 8u202_graalvm-ce,baseline,26.59 87 | 8u202_graalvm-ce,baseline,26.21 88 | 8u202_graalvm-ce,baseline,26.03 89 | 8u202_graalvm-ce,baseline,25.39 90 | 8u202_graalvm-ce,baseline,26.85 91 | 8u202_graalvm-ce,baseline+native,19.12 92 | 8u202_graalvm-ce,baseline+native,19.80 93 | 8u202_graalvm-ce,baseline+native,19.48 94 | 8u202_graalvm-ce,baseline+native,19.10 95 | 8u202_graalvm-ce,baseline+native,19.25 96 | 8u202_graalvm-ce,baseline+native,19.44 97 | 8u202_graalvm-ce,baseline+native,19.12 98 | 8u202_graalvm-ce,baseline+native,19.45 99 | 8u202_graalvm-ce,baseline+native,19.49 100 | 8u202_graalvm-ce,baseline+native,19.72 101 | 8u202_graalvm-ce,tuned,23.46 102 | 8u202_graalvm-ce,tuned,24.48 103 | 8u202_graalvm-ce,tuned,25.50 104 | 8u202_graalvm-ce,tuned,24.46 105 | 8u202_graalvm-ce,tuned,24.45 106 | 8u202_graalvm-ce,tuned,24.11 107 | 8u202_graalvm-ce,tuned,24.09 108 | 8u202_graalvm-ce,tuned,24.56 109 | 8u202_graalvm-ce,tuned,23.90 110 | 8u202_graalvm-ce,tuned,23.96 111 | 8u202_graalvm-ce,tuned+native,18.18 112 | 8u202_graalvm-ce,tuned+native,18.84 113 | 8u202_graalvm-ce,tuned+native,18.70 114 | 8u202_graalvm-ce,tuned+native,18.80 115 | 8u202_graalvm-ce,tuned+native,18.62 116 | 8u202_graalvm-ce,tuned+native,19.77 117 | 8u202_graalvm-ce,tuned+native,18.65 118 | 8u202_graalvm-ce,tuned+native,18.79 119 | 8u202_graalvm-ce,tuned+native,18.45 120 | 8u202_graalvm-ce,tuned+native,18.36 121 | 11.0.3,baseline,30.19 122 | 11.0.3,baseline,30.55 123 | 11.0.3,baseline,30.78 124 | 11.0.3,baseline,30.33 125 | 11.0.3,baseline,29.74 126 | 11.0.3,baseline,31.28 127 | 11.0.3,baseline,31.88 128 | 11.0.3,baseline,30.50 129 | 11.0.3,baseline,31.21 130 | 11.0.3,baseline,30.62 131 | 11.0.3,baseline+native,20.87 132 | 11.0.3,baseline+native,21.13 133 | 11.0.3,baseline+native,21.37 134 | 11.0.3,baseline+native,21.57 135 | 11.0.3,baseline+native,21.86 136 | 11.0.3,baseline+native,20.56 137 | 11.0.3,baseline+native,21.93 138 | 11.0.3,baseline+native,22.26 139 | 11.0.3,baseline+native,20.96 140 | 11.0.3,baseline+native,21.45 141 | 11.0.3,tuned,20.39 142 | 11.0.3,tuned,20.86 143 | 11.0.3,tuned,20.65 144 | 11.0.3,tuned,20.36 145 | 11.0.3,tuned,20.79 146 | 11.0.3,tuned,20.73 147 | 11.0.3,tuned,20.63 148 | 11.0.3,tuned,20.70 149 | 11.0.3,tuned,20.45 150 | 11.0.3,tuned,20.54 151 | 11.0.3,tuned+native,16.46 152 | 11.0.3,tuned+native,16.44 153 | 11.0.3,tuned+native,16.69 154 | 11.0.3,tuned+native,16.54 155 | 11.0.3,tuned+native,16.58 156 | 11.0.3,tuned+native,16.71 157 | 11.0.3,tuned+native,16.52 158 | 11.0.3,tuned+native,16.55 159 | 11.0.3,tuned+native,16.77 160 | 11.0.3,tuned+native,16.63 161 | 11.0.3_openj9,baseline,46.83 162 | 11.0.3_openj9,baseline,53.44 163 | 11.0.3_openj9,baseline,46.84 164 | 11.0.3_openj9,baseline,47.67 165 | 11.0.3_openj9,baseline,46.45 166 | 11.0.3_openj9,baseline,48.44 167 | 11.0.3_openj9,baseline,46.80 168 | 11.0.3_openj9,baseline,48.97 169 | 11.0.3_openj9,baseline,48.17 170 | 11.0.3_openj9,baseline,49.91 171 | 11.0.3_openj9,baseline+native,30.75 172 | 11.0.3_openj9,baseline+native,28.24 173 | 11.0.3_openj9,baseline+native,29.35 174 | 11.0.3_openj9,baseline+native,30.29 175 | 11.0.3_openj9,baseline+native,29.76 176 | 11.0.3_openj9,baseline+native,30.88 177 | 11.0.3_openj9,baseline+native,28.62 178 | 11.0.3_openj9,baseline+native,29.77 179 | 11.0.3_openj9,baseline+native,29.33 180 | 11.0.3_openj9,baseline+native,29.78 181 | 11.0.3_openj9,tuned,21.72 182 | 11.0.3_openj9,tuned,22.07 183 | 11.0.3_openj9,tuned,21.49 184 | 11.0.3_openj9,tuned,21.62 185 | 11.0.3_openj9,tuned,21.06 186 | 11.0.3_openj9,tuned,21.31 187 | 11.0.3_openj9,tuned,22.41 188 | 11.0.3_openj9,tuned,21.11 189 | 11.0.3_openj9,tuned,21.01 190 | 11.0.3_openj9,tuned,20.98 191 | 11.0.3_openj9,tuned+native,18.42 192 | 11.0.3_openj9,tuned+native,18.24 193 | 11.0.3_openj9,tuned+native,17.96 194 | 11.0.3_openj9,tuned+native,18.09 195 | 11.0.3_openj9,tuned+native,17.87 196 | 11.0.3_openj9,tuned+native,17.70 197 | 11.0.3_openj9,tuned+native,17.84 198 | 11.0.3_openj9,tuned+native,17.47 199 | 11.0.3_openj9,tuned+native,17.71 200 | 11.0.3_openj9,tuned+native,17.40 201 | -------------------------------------------------------------------------------- /javac-native/mvn_results.csv: -------------------------------------------------------------------------------- 1 | 8u212,baseline,48.63 2 | 8u212,baseline,48.77 3 | 8u212,baseline,49.12 4 | 8u212,baseline,50.55 5 | 8u212,baseline,50.67 6 | 8u212,baseline,48.84 7 | 8u212,baseline,49.95 8 | 8u212,baseline,49.74 9 | 8u212,baseline,49.22 10 | 8u212,baseline,51.10 11 | 8u212,baseline+native,44.66 12 | 8u212,baseline+native,45.46 13 | 8u212,baseline+native,44.30 14 | 8u212,baseline+native,45.65 15 | 8u212,baseline+native,45.57 16 | 8u212,baseline+native,45.31 17 | 8u212,baseline+native,44.78 18 | 8u212,baseline+native,44.92 19 | 8u212,baseline+native,44.55 20 | 8u212,baseline+native,45.22 21 | 8u212,tuned,42.66 22 | 8u212,tuned,42.88 23 | 8u212,tuned,43.04 24 | 8u212,tuned,42.15 25 | 8u212,tuned,42.03 26 | 8u212,tuned,41.82 27 | 8u212,tuned,43.09 28 | 8u212,tuned,42.55 29 | 8u212,tuned,42.83 30 | 8u212,tuned,42.22 31 | 8u212,tuned+native,39.41 32 | 8u212,tuned+native,40.77 33 | 8u212,tuned+native,40.06 34 | 8u212,tuned+native,40.02 35 | 8u212,tuned+native,41.28 36 | 8u212,tuned+native,40.55 37 | 8u212,tuned+native,39.97 38 | 8u212,tuned+native,40.99 39 | 8u212,tuned+native,41.24 40 | 8u212,tuned+native,40.35 41 | 8u212_openj9,baseline,84.62 42 | 8u212_openj9,baseline,82.77 43 | 8u212_openj9,baseline,82.79 44 | 8u212_openj9,baseline,83.11 45 | 8u212_openj9,baseline,86.05 46 | 8u212_openj9,baseline,86.18 47 | 8u212_openj9,baseline,83.07 48 | 8u212_openj9,baseline,87.31 49 | 8u212_openj9,baseline,83.01 50 | 8u212_openj9,baseline,84.44 51 | 8u212_openj9,baseline+native,71.50 52 | 8u212_openj9,baseline+native,73.44 53 | 8u212_openj9,baseline+native,72.46 54 | 8u212_openj9,baseline+native,75.78 55 | 8u212_openj9,baseline+native,73.73 56 | 8u212_openj9,baseline+native,70.43 57 | 8u212_openj9,baseline+native,74.80 58 | 8u212_openj9,baseline+native,73.38 59 | 8u212_openj9,baseline+native,76.11 60 | 8u212_openj9,baseline+native,70.89 61 | 8u212_openj9,tuned,42.00 62 | 8u212_openj9,tuned,42.09 63 | 8u212_openj9,tuned,42.31 64 | 8u212_openj9,tuned,42.04 65 | 8u212_openj9,tuned,43.06 66 | 8u212_openj9,tuned,42.78 67 | 8u212_openj9,tuned,42.92 68 | 8u212_openj9,tuned,42.85 69 | 8u212_openj9,tuned,42.82 70 | 8u212_openj9,tuned,42.63 71 | 8u212_openj9,tuned+native,39.12 72 | 8u212_openj9,tuned+native,38.48 73 | 8u212_openj9,tuned+native,37.84 74 | 8u212_openj9,tuned+native,38.57 75 | 8u212_openj9,tuned+native,38.24 76 | 8u212_openj9,tuned+native,37.48 77 | 8u212_openj9,tuned+native,39.33 78 | 8u212_openj9,tuned+native,38.19 79 | 8u212_openj9,tuned+native,38.49 80 | 8u212_openj9,tuned+native,38.17 81 | 8u202_graalvm-ce,baseline,51.91 82 | 8u202_graalvm-ce,baseline,50.97 83 | 8u202_graalvm-ce,baseline,54.41 84 | 8u202_graalvm-ce,baseline,52.72 85 | 8u202_graalvm-ce,baseline,54.16 86 | 8u202_graalvm-ce,baseline,51.94 87 | 8u202_graalvm-ce,baseline,51.95 88 | 8u202_graalvm-ce,baseline,51.99 89 | 8u202_graalvm-ce,baseline,52.57 90 | 8u202_graalvm-ce,baseline,51.64 91 | 8u202_graalvm-ce,baseline+native,46.42 92 | 8u202_graalvm-ce,baseline+native,46.41 93 | 8u202_graalvm-ce,baseline+native,45.46 94 | 8u202_graalvm-ce,baseline+native,47.64 95 | 8u202_graalvm-ce,baseline+native,45.98 96 | 8u202_graalvm-ce,baseline+native,45.78 97 | 8u202_graalvm-ce,baseline+native,46.31 98 | 8u202_graalvm-ce,baseline+native,46.66 99 | 8u202_graalvm-ce,baseline+native,46.28 100 | 8u202_graalvm-ce,baseline+native,46.92 101 | 8u202_graalvm-ce,tuned,50.57 102 | 8u202_graalvm-ce,tuned,50.79 103 | 8u202_graalvm-ce,tuned,50.93 104 | 8u202_graalvm-ce,tuned,50.80 105 | 8u202_graalvm-ce,tuned,51.79 106 | 8u202_graalvm-ce,tuned,51.46 107 | 8u202_graalvm-ce,tuned,51.01 108 | 8u202_graalvm-ce,tuned,50.86 109 | 8u202_graalvm-ce,tuned,51.11 110 | 8u202_graalvm-ce,tuned,50.93 111 | 8u202_graalvm-ce,tuned+native,44.73 112 | 8u202_graalvm-ce,tuned+native,45.41 113 | 8u202_graalvm-ce,tuned+native,45.50 114 | 8u202_graalvm-ce,tuned+native,45.47 115 | 8u202_graalvm-ce,tuned+native,45.44 116 | 8u202_graalvm-ce,tuned+native,46.60 117 | 8u202_graalvm-ce,tuned+native,45.05 118 | 8u202_graalvm-ce,tuned+native,46.14 119 | 8u202_graalvm-ce,tuned+native,45.23 120 | 8u202_graalvm-ce,tuned+native,45.21 121 | 11.0.3,baseline,63.05 122 | 11.0.3,baseline,66.17 123 | 11.0.3,baseline,62.82 124 | 11.0.3,baseline,64.39 125 | 11.0.3,baseline,64.80 126 | 11.0.3,baseline,64.21 127 | 11.0.3,baseline,63.45 128 | 11.0.3,baseline,62.09 129 | 11.0.3,baseline,63.68 130 | 11.0.3,baseline,63.83 131 | 11.0.3,baseline+native,55.82 132 | 11.0.3,baseline+native,54.02 133 | 11.0.3,baseline+native,56.51 134 | 11.0.3,baseline+native,55.02 135 | 11.0.3,baseline+native,57.80 136 | 11.0.3,baseline+native,55.36 137 | 11.0.3,baseline+native,55.18 138 | 11.0.3,baseline+native,55.47 139 | 11.0.3,baseline+native,56.86 140 | 11.0.3,baseline+native,57.07 141 | 11.0.3,tuned,52.80 142 | 11.0.3,tuned,54.91 143 | 11.0.3,tuned,55.95 144 | 11.0.3,tuned,56.05 145 | 11.0.3,tuned,54.17 146 | 11.0.3,tuned,53.61 147 | 11.0.3,tuned,54.30 148 | 11.0.3,tuned,54.70 149 | 11.0.3,tuned,53.32 150 | 11.0.3,tuned,55.41 151 | 11.0.3,tuned+native,48.92 152 | 11.0.3,tuned+native,50.43 153 | 11.0.3,tuned+native,50.42 154 | 11.0.3,tuned+native,50.00 155 | 11.0.3,tuned+native,50.67 156 | 11.0.3,tuned+native,49.96 157 | 11.0.3,tuned+native,49.83 158 | 11.0.3,tuned+native,48.48 159 | 11.0.3,tuned+native,50.33 160 | 11.0.3,tuned+native,51.70 161 | 11.0.3_openj9,baseline,108.65 162 | 11.0.3_openj9,baseline,111.64 163 | 11.0.3_openj9,baseline,113.08 164 | 11.0.3_openj9,baseline,110.80 165 | 11.0.3_openj9,baseline,110.58 166 | 11.0.3_openj9,baseline,108.02 167 | 11.0.3_openj9,baseline,108.14 168 | 11.0.3_openj9,baseline,111.09 169 | 11.0.3_openj9,baseline,106.62 170 | 11.0.3_openj9,baseline,107.21 171 | 11.0.3_openj9,baseline+native,91.13 172 | 11.0.3_openj9,baseline+native,91.13 173 | 11.0.3_openj9,baseline+native,92.58 174 | 11.0.3_openj9,baseline+native,91.74 175 | 11.0.3_openj9,baseline+native,91.40 176 | 11.0.3_openj9,baseline+native,91.70 177 | 11.0.3_openj9,baseline+native,91.18 178 | 11.0.3_openj9,baseline+native,88.87 179 | 11.0.3_openj9,baseline+native,93.93 180 | 11.0.3_openj9,baseline+native,91.94 181 | 11.0.3_openj9,tuned,51.78 182 | 11.0.3_openj9,tuned,51.33 183 | 11.0.3_openj9,tuned,51.58 184 | 11.0.3_openj9,tuned,50.78 185 | 11.0.3_openj9,tuned,50.49 186 | 11.0.3_openj9,tuned,51.19 187 | 11.0.3_openj9,tuned,50.91 188 | 11.0.3_openj9,tuned,51.03 189 | 11.0.3_openj9,tuned,51.37 190 | 11.0.3_openj9,tuned,50.89 191 | 11.0.3_openj9,tuned+native,46.95 192 | 11.0.3_openj9,tuned+native,47.70 193 | 11.0.3_openj9,tuned+native,47.61 194 | 11.0.3_openj9,tuned+native,47.33 195 | 11.0.3_openj9,tuned+native,47.67 196 | 11.0.3_openj9,tuned+native,46.81 197 | 11.0.3_openj9,tuned+native,47.12 198 | 11.0.3_openj9,tuned+native,48.10 199 | 11.0.3_openj9,tuned+native,46.90 200 | 11.0.3_openj9,tuned+native,46.61 201 | -------------------------------------------------------------------------------- /maven-opts/results.csv: -------------------------------------------------------------------------------- 1 | 8u212,baseline,48.50 2 | 8u212,baseline,48.88 3 | 8u212,baseline,52.73 4 | 8u212,baseline,50.65 5 | 8u212,baseline,48.44 6 | 8u212,baseline,50.35 7 | 8u212,baseline,48.98 8 | 8u212,baseline,48.09 9 | 8u212,baseline,51.64 10 | 8u212,baseline,49.34 11 | 8u212,throughput gc,50.14 12 | 8u212,throughput gc,49.91 13 | 8u212,throughput gc,49.25 14 | 8u212,throughput gc,48.98 15 | 8u212,throughput gc,48.79 16 | 8u212,throughput gc,49.97 17 | 8u212,throughput gc,51.30 18 | 8u212,throughput gc,48.42 19 | 8u212,throughput gc,49.02 20 | 8u212,throughput gc,48.05 21 | 8u212,CDS,47.90 22 | 8u212,CDS,53.12 23 | 8u212,CDS,50.71 24 | 8u212,CDS,48.60 25 | 8u212,CDS,52.87 26 | 8u212,CDS,48.68 27 | 8u212,CDS,49.10 28 | 8u212,CDS,49.90 29 | 8u212,CDS,49.10 30 | 8u212,CDS,48.16 31 | 8u212,C1 only,43.55 32 | 8u212,C1 only,42.98 33 | 8u212,C1 only,44.27 34 | 8u212,C1 only,43.19 35 | 8u212,C1 only,44.04 36 | 8u212,C1 only,43.46 37 | 8u212,C1 only,44.56 38 | 8u212,C1 only,42.98 39 | 8u212,C1 only,42.68 40 | 8u212,C1 only,44.00 41 | 8u212,no verify,46.97 42 | 8u212,no verify,47.91 43 | 8u212,no verify,47.40 44 | 8u212,no verify,48.79 45 | 8u212,no verify,47.47 46 | 8u212,no verify,48.75 47 | 8u212,no verify,48.31 48 | 8u212,no verify,47.87 49 | 8u212,no verify,48.38 50 | 8u212,no verify,48.83 51 | 8u212,tuned,43.82 52 | 8u212,tuned,42.60 53 | 8u212,tuned,42.83 54 | 8u212,tuned,42.10 55 | 8u212,tuned,43.00 56 | 8u212,tuned,43.05 57 | 8u212,tuned,42.01 58 | 8u212,tuned,43.47 59 | 8u212,tuned,42.64 60 | 8u212,tuned,42.41 61 | 8u212_openj9,baseline,83.29 62 | 8u212_openj9,baseline,91.47 63 | 8u212_openj9,baseline,86.47 64 | 8u212_openj9,baseline,86.80 65 | 8u212_openj9,baseline,89.87 66 | 8u212_openj9,baseline,84.34 67 | 8u212_openj9,baseline,86.14 68 | 8u212_openj9,baseline,85.39 69 | 8u212_openj9,baseline,86.33 70 | 8u212_openj9,baseline,86.69 71 | 8u212_openj9,throughput gc,86.86 72 | 8u212_openj9,throughput gc,82.97 73 | 8u212_openj9,throughput gc,87.71 74 | 8u212_openj9,throughput gc,86.90 75 | 8u212_openj9,throughput gc,87.44 76 | 8u212_openj9,throughput gc,86.11 77 | 8u212_openj9,throughput gc,86.91 78 | 8u212_openj9,throughput gc,86.97 79 | 8u212_openj9,throughput gc,88.54 80 | 8u212_openj9,throughput gc,86.64 81 | 8u212_openj9,class cache,58.07 82 | 8u212_openj9,class cache,57.55 83 | 8u212_openj9,class cache,56.47 84 | 8u212_openj9,class cache,59.98 85 | 8u212_openj9,class cache,56.84 86 | 8u212_openj9,class cache,55.91 87 | 8u212_openj9,class cache,57.22 88 | 8u212_openj9,class cache,56.32 89 | 8u212_openj9,class cache,57.13 90 | 8u212_openj9,class cache,56.69 91 | 8u212_openj9,quick start,65.71 92 | 8u212_openj9,quick start,67.83 93 | 8u212_openj9,quick start,67.43 94 | 8u212_openj9,quick start,66.51 95 | 8u212_openj9,quick start,68.43 96 | 8u212_openj9,quick start,68.99 97 | 8u212_openj9,quick start,67.45 98 | 8u212_openj9,quick start,65.64 99 | 8u212_openj9,quick start,67.32 100 | 8u212_openj9,quick start,69.06 101 | 8u212_openj9,no verify,86.58 102 | 8u212_openj9,no verify,86.66 103 | 8u212_openj9,no verify,88.94 104 | 8u212_openj9,no verify,84.64 105 | 8u212_openj9,no verify,85.38 106 | 8u212_openj9,no verify,84.31 107 | 8u212_openj9,no verify,82.78 108 | 8u212_openj9,no verify,85.74 109 | 8u212_openj9,no verify,87.33 110 | 8u212_openj9,no verify,83.88 111 | 8u212_openj9,tuned,42.83 112 | 8u212_openj9,tuned,43.21 113 | 8u212_openj9,tuned,43.93 114 | 8u212_openj9,tuned,41.24 115 | 8u212_openj9,tuned,43.13 116 | 8u212_openj9,tuned,43.14 117 | 8u212_openj9,tuned,42.66 118 | 8u212_openj9,tuned,42.95 119 | 8u212_openj9,tuned,41.60 120 | 8u212_openj9,tuned,42.22 121 | 11.0.3,baseline,60.66 122 | 11.0.3,baseline,62.66 123 | 11.0.3,baseline,62.94 124 | 11.0.3,baseline,64.50 125 | 11.0.3,baseline,64.39 126 | 11.0.3,baseline,63.04 127 | 11.0.3,baseline,65.03 128 | 11.0.3,baseline,63.12 129 | 11.0.3,baseline,63.51 130 | 11.0.3,baseline,62.42 131 | 11.0.3,throughput gc,59.86 132 | 11.0.3,throughput gc,59.65 133 | 11.0.3,throughput gc,59.90 134 | 11.0.3,throughput gc,59.92 135 | 11.0.3,throughput gc,59.57 136 | 11.0.3,throughput gc,59.79 137 | 11.0.3,throughput gc,60.64 138 | 11.0.3,throughput gc,60.44 139 | 11.0.3,throughput gc,59.89 140 | 11.0.3,throughput gc,59.75 141 | 11.0.3,CDS,63.72 142 | 11.0.3,CDS,65.04 143 | 11.0.3,CDS,61.96 144 | 11.0.3,CDS,62.83 145 | 11.0.3,CDS,63.19 146 | 11.0.3,CDS,63.50 147 | 11.0.3,CDS,63.98 148 | 11.0.3,CDS,64.47 149 | 11.0.3,CDS,63.23 150 | 11.0.3,CDS,63.74 151 | 11.0.3,C1 only,55.03 152 | 11.0.3,C1 only,58.26 153 | 11.0.3,C1 only,55.36 154 | 11.0.3,C1 only,55.60 155 | 11.0.3,C1 only,56.54 156 | 11.0.3,C1 only,56.92 157 | 11.0.3,C1 only,57.40 158 | 11.0.3,C1 only,54.74 159 | 11.0.3,C1 only,54.25 160 | 11.0.3,C1 only,55.03 161 | 11.0.3,no verify,61.12 162 | 11.0.3,no verify,63.97 163 | 11.0.3,no verify,62.28 164 | 11.0.3,no verify,65.14 165 | 11.0.3,no verify,61.56 166 | 11.0.3,no verify,62.13 167 | 11.0.3,no verify,62.37 168 | 11.0.3,no verify,63.01 169 | 11.0.3,no verify,62.90 170 | 11.0.3,no verify,63.19 171 | 11.0.3,tuned,54.45 172 | 11.0.3,tuned,53.75 173 | 11.0.3,tuned,56.23 174 | 11.0.3,tuned,51.99 175 | 11.0.3,tuned,53.51 176 | 11.0.3,tuned,53.27 177 | 11.0.3,tuned,54.42 178 | 11.0.3,tuned,54.19 179 | 11.0.3,tuned,55.13 180 | 11.0.3,tuned,53.65 181 | 11.0.3_openj9,baseline,113.18 182 | 11.0.3_openj9,baseline,116.50 183 | 11.0.3_openj9,baseline,111.86 184 | 11.0.3_openj9,baseline,109.90 185 | 11.0.3_openj9,baseline,113.76 186 | 11.0.3_openj9,baseline,108.78 187 | 11.0.3_openj9,baseline,113.19 188 | 11.0.3_openj9,baseline,110.52 189 | 11.0.3_openj9,baseline,110.05 190 | 11.0.3_openj9,baseline,111.49 191 | 11.0.3_openj9,throughput gc,112.36 192 | 11.0.3_openj9,throughput gc,111.18 193 | 11.0.3_openj9,throughput gc,112.92 194 | 11.0.3_openj9,throughput gc,113.29 195 | 11.0.3_openj9,throughput gc,114.60 196 | 11.0.3_openj9,throughput gc,117.57 197 | 11.0.3_openj9,throughput gc,111.67 198 | 11.0.3_openj9,throughput gc,115.29 199 | 11.0.3_openj9,throughput gc,116.48 200 | 11.0.3_openj9,throughput gc,111.66 201 | 11.0.3_openj9,class cache,73.15 202 | 11.0.3_openj9,class cache,70.18 203 | 11.0.3_openj9,class cache,70.04 204 | 11.0.3_openj9,class cache,70.66 205 | 11.0.3_openj9,class cache,71.21 206 | 11.0.3_openj9,class cache,70.82 207 | 11.0.3_openj9,class cache,69.48 208 | 11.0.3_openj9,class cache,72.94 209 | 11.0.3_openj9,class cache,71.56 210 | 11.0.3_openj9,class cache,69.58 211 | 11.0.3_openj9,quick start,87.21 212 | 11.0.3_openj9,quick start,89.35 213 | 11.0.3_openj9,quick start,90.86 214 | 11.0.3_openj9,quick start,88.64 215 | 11.0.3_openj9,quick start,89.24 216 | 11.0.3_openj9,quick start,87.76 217 | 11.0.3_openj9,quick start,86.57 218 | 11.0.3_openj9,quick start,89.07 219 | 11.0.3_openj9,quick start,86.05 220 | 11.0.3_openj9,quick start,84.20 221 | 11.0.3_openj9,no verify,108.83 222 | 11.0.3_openj9,no verify,112.24 223 | 11.0.3_openj9,no verify,109.60 224 | 11.0.3_openj9,no verify,109.87 225 | 11.0.3_openj9,no verify,108.68 226 | 11.0.3_openj9,no verify,112.65 227 | 11.0.3_openj9,no verify,112.10 228 | 11.0.3_openj9,no verify,111.17 229 | 11.0.3_openj9,no verify,112.04 230 | 11.0.3_openj9,no verify,112.05 231 | 11.0.3_openj9,tuned,53.76 232 | 11.0.3_openj9,tuned,53.02 233 | 11.0.3_openj9,tuned,52.12 234 | 11.0.3_openj9,tuned,52.14 235 | 11.0.3_openj9,tuned,52.22 236 | 11.0.3_openj9,tuned,51.59 237 | 11.0.3_openj9,tuned,52.17 238 | 11.0.3_openj9,tuned,51.86 239 | 11.0.3_openj9,tuned,51.34 240 | 11.0.3_openj9,tuned,52.32 241 | -------------------------------------------------------------------------------- /javac-native/run-benchmark.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | base_path="$(pwd)/tmp/maven/3.6.3/bin:$(pwd)/tmp/bin:$PATH" 6 | 7 | src_dir="$PWD/tmp/commons-collections/src/main/java" 8 | classes_dir="$PWD/tmp/commons-collections/target/classes" 9 | options_file="$PWD/tmp/javac_options" 10 | settings_file="$PWD/settings.xml" 11 | export GRAAL_HOME="$PWD/tmp/jdk/8u242_graalvm-ce" 12 | 13 | (cd "$src_dir" &>/dev/null && echo -source 1.8 -target 1.8 -sourcepath . \ 14 | -g -nowarn -encoding iso-8859-1 -d "$classes_dir" \ 15 | $(find . -name '*.java') > "$options_file") 16 | 17 | javac_benchmark() { 18 | test_name="$1" 19 | native="$2" 20 | javac_options="$3" 21 | 22 | export JAVA_HOME="$(pwd)/tmp/jdk/$jdk_name" 23 | export PATH="$JAVA_HOME/bin:$base_path" 24 | 25 | # Not supported by OpenJ9 26 | java -Xshare:dump &>/dev/null || true 27 | 28 | # Not supported by HotSpot 29 | java -Xshareclasses:destroyAll &>/dev/null || true 30 | 31 | if [[ $native == true ]]; then 32 | javac_exe="$PWD/tmp/bin/javac-native" 33 | else 34 | javac_exe="$JAVA_HOME/bin/javac" 35 | fi 36 | 37 | # warmup run 38 | rm -rf "$classes_dir" 39 | mkdir -p "$classes_dir" 40 | (cd "$src_dir" &>/dev/null && \ 41 | "$javac_exe" "@$options_file" $javac_options 2>&1 | \ 42 | (grep -E -v "^Note:" || true)) 43 | 44 | for i in {1..10} 45 | do 46 | rm -rf "$classes_dir" 47 | mkdir -p "$classes_dir" 48 | (cd "$src_dir" &>/dev/null && /usr/bin/time \ 49 | "--format=$jdk_name,$test_name,%e" \ 50 | "$javac_exe" "@$options_file" $javac_options \ 51 | ) 2>&1 | (grep -E -v "^Note:" || true) | tee --append "$results_file" 52 | done 53 | } 54 | 55 | mvn_benchmark() { 56 | test_name="$1" 57 | native="$2" 58 | 59 | export JAVA_HOME="$(pwd)/tmp/jdk/$jdk_name" 60 | export PATH="$JAVA_HOME/bin:$base_path" 61 | export MAVEN_OPTS="-Xmx512m $3" 62 | 63 | if [[ $native == true ]]; then 64 | maven_args="-s $settings_file" 65 | else 66 | maven_args='' 67 | fi 68 | 69 | # Not supported by OpenJ9 70 | java -Xshare:dump &>/dev/null || true 71 | 72 | # Not supported by HotSpot 73 | java -Xshareclasses:destroyAll &>/dev/null || true 74 | 75 | # delete untracked files 76 | (cd tmp/commons-collections &>/dev/null && git clean --force) 77 | 78 | # warmup run 79 | (cd tmp/commons-collections &>/dev/null && \ 80 | mvn --quiet clean install $maven_args) 81 | 82 | for i in {1..10} 83 | do 84 | (cd tmp/commons-collections &>/dev/null && git clean --force) 85 | (cd tmp/commons-collections &>/dev/null && /usr/bin/time \ 86 | "--format=$jdk_name,$test_name,%e" \ 87 | mvn --quiet clean install $maven_args \ 88 | ) 2>&1 | tee --append "$results_file" 89 | done 90 | } 91 | 92 | mvn_no_tests_benchmark() { 93 | test_name="$1" 94 | native="$2" 95 | 96 | export JAVA_HOME="$(pwd)/tmp/jdk/$jdk_name" 97 | export PATH="$JAVA_HOME/bin:$base_path" 98 | export MAVEN_OPTS="-Xmx512m $3" 99 | 100 | if [[ $native == true ]]; then 101 | maven_args="-s $settings_file" 102 | else 103 | maven_args='' 104 | fi 105 | 106 | # Not supported by OpenJ9 107 | java -Xshare:dump &>/dev/null || true 108 | 109 | # Not supported by HotSpot 110 | java -Xshareclasses:destroyAll &>/dev/null || true 111 | 112 | # delete untracked files 113 | (cd tmp/commons-collections &>/dev/null && git clean --force) 114 | 115 | # warmup run 116 | (cd tmp/commons-collections &>/dev/null && \ 117 | mvn --quiet clean install -DskipTests $maven_args) 118 | 119 | for i in {1..10} 120 | do 121 | (cd tmp/commons-collections &>/dev/null && git clean --force) 122 | (cd tmp/commons-collections &>/dev/null && /usr/bin/time \ 123 | "--format=$jdk_name,$test_name,%e" \ 124 | mvn --quiet clean install -DskipTests $maven_args \ 125 | ) 2>&1 | tee --append "$results_file" 126 | done 127 | } 128 | 129 | 130 | echo '*** javac benchmarks ***' 131 | 132 | results_file="$(pwd)/javac_results.csv" 133 | printf '' > "$results_file" 134 | 135 | jdk_name='8u242' 136 | javac_benchmark 'baseline' false '-J-Xshare:off' 137 | javac_benchmark 'tuned' false '-J-Xshare:on -J-XX:TieredStopAtLevel=1 -J-XX:+UseParallelGC -J-Xverify:none' 138 | 139 | jdk_name='8u242_openj9' 140 | javac_benchmark 'baseline' false '' 141 | javac_benchmark 'tuned' false '-J-Xquickstart -J-Xshareclasses:name=javac -J-Xverify:none' 142 | 143 | jdk_name='8u242_graalvm-ce' 144 | javac_benchmark 'baseline' false '-J-Xshare:off' 145 | javac_benchmark 'tuned' false '-J-Xshare:off -J-Dgraal.CompilerConfiguration=economy' 146 | javac_benchmark 'native' true '' 147 | 148 | jdk_name='11.0.6' 149 | javac_benchmark 'baseline' false '-J-Xshare:off' 150 | javac_benchmark 'tuned' false '-J-Xshare:on -J-XX:TieredStopAtLevel=1 -J-XX:+UseParallelGC -J-Xverify:none' 151 | 152 | jdk_name='11.0.6_openj9' 153 | javac_benchmark 'baseline' false '' 154 | javac_benchmark 'tuned' false '-J-Xquickstart -J-Xshareclasses:name=javac -J-Xverify:none' 155 | 156 | echo '*** maven benchmarks ***' 157 | 158 | results_file="$(pwd)/mvn_results.csv" 159 | printf '' > "$results_file" 160 | 161 | jdk_name='8u242' 162 | mvn_benchmark 'baseline' false '-Xshare:off' 163 | mvn_benchmark 'baseline+native' true '-Xshare:off' 164 | mvn_benchmark 'tuned' false '-Xshare:on -XX:TieredStopAtLevel=1 -XX:+UseParallelGC -Xverify:none' 165 | mvn_benchmark 'tuned+native' true '-Xshare:on -XX:TieredStopAtLevel=1 -XX:+UseParallelGC -Xverify:none' 166 | 167 | jdk_name='8u242_openj9' 168 | mvn_benchmark 'baseline' false '' 169 | mvn_benchmark 'baseline+native' true '' 170 | mvn_benchmark 'tuned' false '-Xquickstart -Xshareclasses:name=mvn -DargLine=-Xquickstart -Xverify:none' 171 | mvn_benchmark 'tuned+native' true '-Xquickstart -Xshareclasses:name=mvn -DargLine=-Xquickstart -Xverify:none' 172 | 173 | jdk_name='8u242_graalvm-ce' 174 | mvn_benchmark 'baseline' false '-Xshare:off' 175 | mvn_benchmark 'baseline+native' true '-Xshare:off' 176 | mvn_benchmark 'tuned' false '-Xshare:off -Dgraal.CompilerConfiguration=economy' 177 | mvn_benchmark 'tuned+native' true '-Xshare:off -Dgraal.CompilerConfiguration=economy' 178 | 179 | jdk_name='11.0.6' 180 | mvn_benchmark 'baseline' false '-Xshare:off' 181 | mvn_benchmark 'baseline+native' true '-Xshare:off' 182 | mvn_benchmark 'tuned' false '-Xshare:on -XX:TieredStopAtLevel=1 -XX:+UseParallelGC -Xverify:none' 183 | mvn_benchmark 'tuned+native' true '-Xshare:on -XX:TieredStopAtLevel=1 -XX:+UseParallelGC -Xverify:none' 184 | 185 | jdk_name='11.0.6_openj9' 186 | mvn_benchmark 'baseline' false '' 187 | mvn_benchmark 'baseline+native' true '' 188 | mvn_benchmark 'tuned' false '-Xquickstart -Xshareclasses:name=mvn -DargLine=-Xquickstart -Xverify:none' 189 | mvn_benchmark 'tuned+native' true '-Xquickstart -Xshareclasses:name=mvn -DargLine=-Xquickstart -Xverify:none' 190 | 191 | echo '*** maven no tests benchmarks ***' 192 | 193 | results_file="$(pwd)/mvn_no_tests_results.csv" 194 | printf '' > "$results_file" 195 | 196 | jdk_name='8u242' 197 | mvn_no_tests_benchmark 'baseline' false '-Xshare:off' 198 | mvn_no_tests_benchmark 'baseline+native' true '-Xshare:off' 199 | mvn_no_tests_benchmark 'tuned' false '-Xshare:on -XX:TieredStopAtLevel=1 -XX:+UseParallelGC -Xverify:none' 200 | mvn_no_tests_benchmark 'tuned+native' true '-Xshare:on -XX:TieredStopAtLevel=1 -XX:+UseParallelGC -Xverify:none' 201 | 202 | jdk_name='8u242_openj9' 203 | mvn_no_tests_benchmark 'baseline' false '' 204 | mvn_no_tests_benchmark 'baseline+native' true '' 205 | mvn_no_tests_benchmark 'tuned' false '-Xquickstart -Xshareclasses:name=mvn -DargLine=-Xquickstart -Xverify:none' 206 | mvn_no_tests_benchmark 'tuned+native' true '-Xquickstart -Xshareclasses:name=mvn -DargLine=-Xquickstart -Xverify:none' 207 | 208 | jdk_name='8u242_graalvm-ce' 209 | mvn_no_tests_benchmark 'baseline' false '-Xshare:off' 210 | mvn_no_tests_benchmark 'baseline+native' true '-Xshare:off' 211 | mvn_no_tests_benchmark 'tuned' false '-Xshare:off -Dgraal.CompilerConfiguration=economy' 212 | mvn_no_tests_benchmark 'tuned+native' true '-Xshare:off -Dgraal.CompilerConfiguration=economy' 213 | 214 | jdk_name='11.0.6' 215 | mvn_no_tests_benchmark 'baseline' false '-Xshare:off' 216 | mvn_no_tests_benchmark 'baseline+native' true '-Xshare:off' 217 | mvn_no_tests_benchmark 'tuned' false '-Xshare:on -XX:TieredStopAtLevel=1 -XX:+UseParallelGC -Xverify:none' 218 | mvn_no_tests_benchmark 'tuned+native' true '-Xshare:on -XX:TieredStopAtLevel=1 -XX:+UseParallelGC -Xverify:none' 219 | 220 | jdk_name='11.0.6_openj9' 221 | mvn_no_tests_benchmark 'baseline' false '' 222 | mvn_no_tests_benchmark 'baseline+native' true '' 223 | mvn_no_tests_benchmark 'tuned' false '-Xquickstart -Xshareclasses:name=mvn -DargLine=-Xquickstart -Xverify:none' 224 | mvn_no_tests_benchmark 'tuned+native' true '-Xquickstart -Xshareclasses:name=mvn -DargLine=-Xquickstart -Xverify:none' 225 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by https://www.gitignore.io/api/windows,linux,osx,vim,emacs,visualstudiocode,intellij,eclipse,netbeans,python,java 2 | # Edit at https://www.gitignore.io/?templates=windows,linux,osx,vim,emacs,visualstudiocode,intellij,eclipse,netbeans,python,java 3 | 4 | ### Eclipse ### 5 | .metadata 6 | bin/ 7 | tmp/ 8 | *.tmp 9 | *.bak 10 | *.swp 11 | *~.nib 12 | local.properties 13 | .settings/ 14 | .loadpath 15 | .recommenders 16 | 17 | # External tool builders 18 | .externalToolBuilders/ 19 | 20 | # Locally stored "Eclipse launch configurations" 21 | *.launch 22 | 23 | # PyDev specific (Python IDE for Eclipse) 24 | *.pydevproject 25 | 26 | # CDT-specific (C/C++ Development Tooling) 27 | .cproject 28 | 29 | # CDT- autotools 30 | .autotools 31 | 32 | # Java annotation processor (APT) 33 | .factorypath 34 | 35 | # PDT-specific (PHP Development Tools) 36 | .buildpath 37 | 38 | # sbteclipse plugin 39 | .target 40 | 41 | # Tern plugin 42 | .tern-project 43 | 44 | # TeXlipse plugin 45 | .texlipse 46 | 47 | # STS (Spring Tool Suite) 48 | .springBeans 49 | 50 | # Code Recommenders 51 | .recommenders/ 52 | 53 | # Annotation Processing 54 | .apt_generated/ 55 | 56 | # Scala IDE specific (Scala & Java development for Eclipse) 57 | .cache-main 58 | .scala_dependencies 59 | .worksheet 60 | 61 | ### Eclipse Patch ### 62 | # Eclipse Core 63 | .project 64 | 65 | # JDT-specific (Eclipse Java Development Tools) 66 | .classpath 67 | 68 | # Annotation Processing 69 | .apt_generated 70 | 71 | .sts4-cache/ 72 | 73 | ### Emacs ### 74 | # -*- mode: gitignore; -*- 75 | *~ 76 | \#*\# 77 | /.emacs.desktop 78 | /.emacs.desktop.lock 79 | *.elc 80 | auto-save-list 81 | tramp 82 | .\#* 83 | 84 | # Org-mode 85 | .org-id-locations 86 | *_archive 87 | 88 | # flymake-mode 89 | *_flymake.* 90 | 91 | # eshell files 92 | /eshell/history 93 | /eshell/lastdir 94 | 95 | # elpa packages 96 | /elpa/ 97 | 98 | # reftex files 99 | *.rel 100 | 101 | # AUCTeX auto folder 102 | /auto/ 103 | 104 | # cask packages 105 | .cask/ 106 | dist/ 107 | 108 | # Flycheck 109 | flycheck_*.el 110 | 111 | # server auth directory 112 | /server/ 113 | 114 | # projectiles files 115 | .projectile 116 | 117 | # directory configuration 118 | .dir-locals.el 119 | 120 | # network security 121 | /network-security.data 122 | 123 | 124 | ### Intellij ### 125 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm 126 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 127 | 128 | # User-specific stuff 129 | .idea/**/workspace.xml 130 | .idea/**/tasks.xml 131 | .idea/**/usage.statistics.xml 132 | .idea/**/dictionaries 133 | .idea/**/shelf 134 | 135 | # Generated files 136 | .idea/**/contentModel.xml 137 | 138 | # Sensitive or high-churn files 139 | .idea/**/dataSources/ 140 | .idea/**/dataSources.ids 141 | .idea/**/dataSources.local.xml 142 | .idea/**/sqlDataSources.xml 143 | .idea/**/dynamic.xml 144 | .idea/**/uiDesigner.xml 145 | .idea/**/dbnavigator.xml 146 | 147 | # Gradle 148 | .idea/**/gradle.xml 149 | .idea/**/libraries 150 | 151 | # Gradle and Maven with auto-import 152 | # When using Gradle or Maven with auto-import, you should exclude module files, 153 | # since they will be recreated, and may cause churn. Uncomment if using 154 | # auto-import. 155 | # .idea/modules.xml 156 | # .idea/*.iml 157 | # .idea/modules 158 | 159 | # CMake 160 | cmake-build-*/ 161 | 162 | # Mongo Explorer plugin 163 | .idea/**/mongoSettings.xml 164 | 165 | # File-based project format 166 | *.iws 167 | 168 | # IntelliJ 169 | out/ 170 | 171 | # mpeltonen/sbt-idea plugin 172 | .idea_modules/ 173 | 174 | # JIRA plugin 175 | atlassian-ide-plugin.xml 176 | 177 | # Cursive Clojure plugin 178 | .idea/replstate.xml 179 | 180 | # Crashlytics plugin (for Android Studio and IntelliJ) 181 | com_crashlytics_export_strings.xml 182 | crashlytics.properties 183 | crashlytics-build.properties 184 | fabric.properties 185 | 186 | # Editor-based Rest Client 187 | .idea/httpRequests 188 | 189 | # Android studio 3.1+ serialized cache file 190 | .idea/caches/build_file_checksums.ser 191 | 192 | # JetBrains templates 193 | **___jb_tmp___ 194 | 195 | ### Intellij Patch ### 196 | # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 197 | 198 | # *.iml 199 | # modules.xml 200 | # .idea/misc.xml 201 | # *.ipr 202 | 203 | # Sonarlint plugin 204 | .idea/sonarlint 205 | 206 | ### Java ### 207 | # Compiled class file 208 | *.class 209 | 210 | # Log file 211 | *.log 212 | 213 | # BlueJ files 214 | *.ctxt 215 | 216 | # Mobile Tools for Java (J2ME) 217 | .mtj.tmp/ 218 | 219 | # Package Files # 220 | *.jar 221 | *.war 222 | *.nar 223 | *.ear 224 | *.zip 225 | *.tar.gz 226 | *.rar 227 | 228 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 229 | hs_err_pid* 230 | 231 | ### Linux ### 232 | 233 | # temporary files which can be created if a process still has a handle open of a deleted file 234 | .fuse_hidden* 235 | 236 | # KDE directory preferences 237 | .directory 238 | 239 | # Linux trash folder which might appear on any partition or disk 240 | .Trash-* 241 | 242 | # .nfs files are created when an open file is removed but is still being accessed 243 | .nfs* 244 | 245 | ### NetBeans ### 246 | **/nbproject/private/ 247 | **/nbproject/Makefile-*.mk 248 | **/nbproject/Package-*.bash 249 | build/ 250 | nbbuild/ 251 | nbdist/ 252 | .nb-gradle/ 253 | 254 | ### OSX ### 255 | # General 256 | .DS_Store 257 | .AppleDouble 258 | .LSOverride 259 | 260 | # Icon must end with two \r 261 | Icon 262 | 263 | # Thumbnails 264 | ._* 265 | 266 | # Files that might appear in the root of a volume 267 | .DocumentRevisions-V100 268 | .fseventsd 269 | .Spotlight-V100 270 | .TemporaryItems 271 | .Trashes 272 | .VolumeIcon.icns 273 | .com.apple.timemachine.donotpresent 274 | 275 | # Directories potentially created on remote AFP share 276 | .AppleDB 277 | .AppleDesktop 278 | Network Trash Folder 279 | Temporary Items 280 | .apdisk 281 | 282 | ### Python ### 283 | # Byte-compiled / optimized / DLL files 284 | __pycache__/ 285 | *.py[cod] 286 | *$py.class 287 | 288 | # C extensions 289 | *.so 290 | 291 | # Distribution / packaging 292 | .Python 293 | develop-eggs/ 294 | downloads/ 295 | eggs/ 296 | .eggs/ 297 | lib/ 298 | lib64/ 299 | parts/ 300 | sdist/ 301 | var/ 302 | wheels/ 303 | pip-wheel-metadata/ 304 | share/python-wheels/ 305 | *.egg-info/ 306 | .installed.cfg 307 | *.egg 308 | MANIFEST 309 | 310 | # PyInstaller 311 | # Usually these files are written by a python script from a template 312 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 313 | *.manifest 314 | *.spec 315 | 316 | # Installer logs 317 | pip-log.txt 318 | pip-delete-this-directory.txt 319 | 320 | # Unit test / coverage reports 321 | htmlcov/ 322 | .tox/ 323 | .nox/ 324 | .coverage 325 | .coverage.* 326 | .cache 327 | nosetests.xml 328 | coverage.xml 329 | *.cover 330 | .hypothesis/ 331 | .pytest_cache/ 332 | 333 | # Translations 334 | *.mo 335 | *.pot 336 | 337 | # Django stuff: 338 | local_settings.py 339 | db.sqlite3 340 | 341 | # Flask stuff: 342 | instance/ 343 | .webassets-cache 344 | 345 | # Scrapy stuff: 346 | .scrapy 347 | 348 | # Sphinx documentation 349 | docs/_build/ 350 | 351 | # PyBuilder 352 | target/ 353 | 354 | # Jupyter Notebook 355 | .ipynb_checkpoints 356 | 357 | # IPython 358 | profile_default/ 359 | ipython_config.py 360 | 361 | # pyenv 362 | .python-version 363 | 364 | # pipenv 365 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 366 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 367 | # having no cross-platform support, pipenv may install dependencies that don’t work, or not 368 | # install all needed dependencies. 369 | #Pipfile.lock 370 | 371 | # celery beat schedule file 372 | celerybeat-schedule 373 | 374 | # SageMath parsed files 375 | *.sage.py 376 | 377 | # Environments 378 | .env 379 | .venv 380 | env/ 381 | venv/ 382 | ENV/ 383 | env.bak/ 384 | venv.bak/ 385 | 386 | # Spyder project settings 387 | .spyderproject 388 | .spyproject 389 | 390 | # Rope project settings 391 | .ropeproject 392 | 393 | # mkdocs documentation 394 | /site 395 | 396 | # mypy 397 | .mypy_cache/ 398 | .dmypy.json 399 | dmypy.json 400 | 401 | # Pyre type checker 402 | .pyre/ 403 | 404 | ### Vim ### 405 | # Swap 406 | [._]*.s[a-v][a-z] 407 | [._]*.sw[a-p] 408 | [._]s[a-rt-v][a-z] 409 | [._]ss[a-gi-z] 410 | [._]sw[a-p] 411 | 412 | # Session 413 | Session.vim 414 | 415 | # Temporary 416 | .netrwhist 417 | # Auto-generated tag files 418 | tags 419 | # Persistent undo 420 | [._]*.un~ 421 | 422 | ### VisualStudioCode ### 423 | .vscode/* 424 | !.vscode/settings.json 425 | !.vscode/tasks.json 426 | !.vscode/launch.json 427 | !.vscode/extensions.json 428 | 429 | ### VisualStudioCode Patch ### 430 | # Ignore all local history of files 431 | .history 432 | 433 | ### Windows ### 434 | # Windows thumbnail cache files 435 | Thumbs.db 436 | ehthumbs.db 437 | ehthumbs_vista.db 438 | 439 | # Dump file 440 | *.stackdump 441 | 442 | # Folder config file 443 | [Dd]esktop.ini 444 | 445 | # Recycle Bin used on file shares 446 | $RECYCLE.BIN/ 447 | 448 | # Windows Installer files 449 | *.cab 450 | *.msi 451 | *.msix 452 | *.msm 453 | *.msp 454 | 455 | # Windows shortcuts 456 | *.lnk 457 | 458 | # End of https://www.gitignore.io/api/windows,linux,osx,vim,emacs,visualstudiocode,intellij,eclipse,netbeans,python,java 459 | -------------------------------------------------------------------------------- /javac-native/Pipfile.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_meta": { 3 | "hash": { 4 | "sha256": "4a518e3423045084c4b59247324e0f90ee2bcee6eca1ce2f4bae41323ed60597" 5 | }, 6 | "pipfile-spec": 6, 7 | "requires": { 8 | "python_version": "2.7" 9 | }, 10 | "sources": [ 11 | { 12 | "name": "pypi", 13 | "url": "https://pypi.org/simple", 14 | "verify_ssl": true 15 | } 16 | ] 17 | }, 18 | "default": { 19 | "attrs": { 20 | "hashes": [ 21 | "sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c", 22 | "sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72" 23 | ], 24 | "version": "==19.3.0" 25 | }, 26 | "backports.shutil-get-terminal-size": { 27 | "hashes": [ 28 | "sha256:0975ba55054c15e346944b38956a4c9cbee9009391e41b86c68990effb8c1f64", 29 | "sha256:713e7a8228ae80341c70586d1cc0a8caa5207346927e23d09dcbcaf18eadec80" 30 | ], 31 | "markers": "python_version == '2.7'", 32 | "version": "==1.0.0" 33 | }, 34 | "bleach": { 35 | "hashes": [ 36 | "sha256:cc8da25076a1fe56c3ac63671e2194458e0c4d9c7becfd52ca251650d517903c", 37 | "sha256:e78e426105ac07026ba098f04de8abe9b6e3e98b5befbf89b51a5ef0a4292b03" 38 | ], 39 | "index": "pypi", 40 | "version": "==3.1.4" 41 | }, 42 | "certifi": { 43 | "hashes": [ 44 | "sha256:017c25db2a153ce562900032d5bc68e9f191e44e9a0f762f373977de9df1fbb3", 45 | "sha256:25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f" 46 | ], 47 | "version": "==2019.11.28" 48 | }, 49 | "chardet": { 50 | "hashes": [ 51 | "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", 52 | "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" 53 | ], 54 | "version": "==3.0.4" 55 | }, 56 | "configparser": { 57 | "hashes": [ 58 | "sha256:254c1d9c79f60c45dfde850850883d5aaa7f19a23f13561243a050d5a7c3fe4c", 59 | "sha256:c7d282687a5308319bf3d2e7706e575c635b0a470342641c93bea0ea3b5331df" 60 | ], 61 | "markers": "python_version < '3'", 62 | "version": "==4.0.2" 63 | }, 64 | "contextlib2": { 65 | "hashes": [ 66 | "sha256:01f490098c18b19d2bd5bb5dc445b2054d2fa97f09a4280ba2c5f3c394c8162e", 67 | "sha256:3355078a159fbb44ee60ea80abd0d87b80b78c248643b49aa6d94673b413609b" 68 | ], 69 | "markers": "python_version < '3'", 70 | "version": "==0.6.0.post1" 71 | }, 72 | "decorator": { 73 | "hashes": [ 74 | "sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760", 75 | "sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7" 76 | ], 77 | "version": "==4.4.2" 78 | }, 79 | "defusedxml": { 80 | "hashes": [ 81 | "sha256:6687150770438374ab581bb7a1b327a847dd9c5749e396102de3fad4e8a3ef93", 82 | "sha256:f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5" 83 | ], 84 | "version": "==0.6.0" 85 | }, 86 | "entrypoints": { 87 | "hashes": [ 88 | "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19", 89 | "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451" 90 | ], 91 | "version": "==0.3" 92 | }, 93 | "enum34": { 94 | "hashes": [ 95 | "sha256:a98a201d6de3f2ab3db284e70a33b0f896fbf35f8086594e8c9e74b909058d53", 96 | "sha256:c3858660960c984d6ab0ebad691265180da2b43f07e061c0f8dca9ef3cffd328", 97 | "sha256:cce6a7477ed816bd2542d03d53db9f0db935dd013b70f336a95c73979289f248" 98 | ], 99 | "markers": "python_version == '2.7'", 100 | "version": "==1.1.10" 101 | }, 102 | "functools32": { 103 | "hashes": [ 104 | "sha256:89d824aa6c358c421a234d7f9ee0bd75933a67c29588ce50aaa3acdf4d403fa0", 105 | "sha256:f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d" 106 | ], 107 | "markers": "python_version < '3'", 108 | "version": "==3.2.3.post2" 109 | }, 110 | "idna": { 111 | "hashes": [ 112 | "sha256:7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb", 113 | "sha256:a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa" 114 | ], 115 | "version": "==2.9" 116 | }, 117 | "importlib-metadata": { 118 | "hashes": [ 119 | "sha256:2a688cbaa90e0cc587f1df48bdc97a6eadccdcd9c35fb3f976a09e3b5016d90f", 120 | "sha256:34513a8a0c4962bc66d35b359558fd8a5e10cd472d37aec5f66858addef32c1e" 121 | ], 122 | "markers": "python_version < '3.8'", 123 | "version": "==1.6.0" 124 | }, 125 | "ipaddress": { 126 | "hashes": [ 127 | "sha256:6e0f4a39e66cb5bb9a137b00276a2eff74f93b71dcbdad6f10ff7df9d3557fcc", 128 | "sha256:b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2" 129 | ], 130 | "markers": "python_version == '2.7'", 131 | "version": "==1.0.23" 132 | }, 133 | "ipykernel": { 134 | "hashes": [ 135 | "sha256:16550fd9287ee9e7e2cb6a1bef1c1e864cc35de395288b1de5902e00bb2f82f3", 136 | "sha256:1eee8df3cc0950373614127c67eee245c9029b40b3b230527a9a5f3b93dc6465", 137 | "sha256:eeb74b2bcfe0ced5a7900361f98fa1171288aa47ed4b522efe5acb167c6cf5fb" 138 | ], 139 | "version": "==4.10.1" 140 | }, 141 | "ipython": { 142 | "hashes": [ 143 | "sha256:54526d92db62bedd872c18131ac7d753fcf054ea34752e1e6ef8eb26391fb1f0", 144 | "sha256:8ac83f3a6232b7a5ee4d3535193e782d3de8c260e7b034b968a9cd1e1580f789", 145 | "sha256:fbeb7b8344dbb7f4939227ed9b2816ac6028db1775521365619b77f3c943ba74" 146 | ], 147 | "markers": "python_version < '3.3'", 148 | "version": "==5.9.0" 149 | }, 150 | "ipython-genutils": { 151 | "hashes": [ 152 | "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8", 153 | "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8" 154 | ], 155 | "version": "==0.2.0" 156 | }, 157 | "ipywidgets": { 158 | "hashes": [ 159 | "sha256:13ffeca438e0c0f91ae583dc22f50379b9d6b28390ac7be8b757140e9a771516", 160 | "sha256:e945f6e02854a74994c596d9db83444a1850c01648f1574adf144fbbabe05c97" 161 | ], 162 | "version": "==7.5.1" 163 | }, 164 | "jinja2": { 165 | "hashes": [ 166 | "sha256:93187ffbc7808079673ef52771baa950426fd664d3aad1d0fa3e95644360e250", 167 | "sha256:b0eaf100007721b5c16c1fc1eecb87409464edc10469ddc9a22a27a99123be49" 168 | ], 169 | "version": "==2.11.1" 170 | }, 171 | "jsonschema": { 172 | "hashes": [ 173 | "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163", 174 | "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a" 175 | ], 176 | "version": "==3.2.0" 177 | }, 178 | "jupyter": { 179 | "hashes": [ 180 | "sha256:3e1f86076bbb7c8c207829390305a2b1fe836d471ed54be66a3b8c41e7f46cc7", 181 | "sha256:5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78", 182 | "sha256:d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f" 183 | ], 184 | "index": "pypi", 185 | "version": "==1.0.0" 186 | }, 187 | "jupyter-client": { 188 | "hashes": [ 189 | "sha256:60e6faec1031d63df57f1cc671ed673dced0ed420f4377ea33db37b1c188b910", 190 | "sha256:d0c077c9aaa4432ad485e7733e4d91e48f87b4f4bab7d283d42bb24cbbba0a0f" 191 | ], 192 | "version": "==5.3.4" 193 | }, 194 | "jupyter-console": { 195 | "hashes": [ 196 | "sha256:3f928b817fc82cda95e431eb4c2b5eb21be5c483c2b43f424761a966bb808094", 197 | "sha256:545dedd3aaaa355148093c5609f0229aeb121b4852995c2accfa64fe3e0e55cd" 198 | ], 199 | "version": "==5.2.0" 200 | }, 201 | "jupyter-core": { 202 | "hashes": [ 203 | "sha256:394fd5dd787e7c8861741880bdf8a00ce39f95de5d18e579c74b882522219e7e", 204 | "sha256:a4ee613c060fe5697d913416fc9d553599c05e4492d58fac1192c9a6844abb21" 205 | ], 206 | "version": "==4.6.3" 207 | }, 208 | "markupsafe": { 209 | "hashes": [ 210 | "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", 211 | "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", 212 | "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", 213 | "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", 214 | "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42", 215 | "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", 216 | "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", 217 | "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", 218 | "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", 219 | "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", 220 | "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", 221 | "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b", 222 | "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", 223 | "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15", 224 | "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", 225 | "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", 226 | "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", 227 | "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", 228 | "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", 229 | "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", 230 | "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", 231 | "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", 232 | "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", 233 | "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", 234 | "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", 235 | "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", 236 | "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", 237 | "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", 238 | "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", 239 | "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", 240 | "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2", 241 | "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7", 242 | "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be" 243 | ], 244 | "version": "==1.1.1" 245 | }, 246 | "mistune": { 247 | "hashes": [ 248 | "sha256:59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e", 249 | "sha256:88a1051873018da288eee8538d476dffe1262495144b33ecb586c4ab266bb8d4" 250 | ], 251 | "version": "==0.8.4" 252 | }, 253 | "nbconvert": { 254 | "hashes": [ 255 | "sha256:21fb48e700b43e82ba0e3142421a659d7739b65568cc832a13976a77be16b523", 256 | "sha256:f0d6ec03875f96df45aa13e21fd9b8450c42d7e1830418cccc008c0df725fcee" 257 | ], 258 | "version": "==5.6.1" 259 | }, 260 | "nbformat": { 261 | "hashes": [ 262 | "sha256:d1407544cf0c53ee88f504b6c732aef6e0f407a0858b405fcf133e0a25bb787b" 263 | ], 264 | "version": "==5.0.3" 265 | }, 266 | "notebook": { 267 | "hashes": [ 268 | "sha256:573e0ae650c5d76b18b6e564ba6d21bf321d00847de1d215b418acb64f056eb8", 269 | "sha256:f64fa6624d2323fbef6210a621817d6505a45d0d4a9367f1843b20a38a4666ee" 270 | ], 271 | "version": "==5.7.8" 272 | }, 273 | "numpy": { 274 | "hashes": [ 275 | "sha256:08bf4f66f190822f4642e036accde8da810b87fffc0b9409e7a00d9e54760099", 276 | "sha256:1680c8d5086a88d293dfd1a10b6429a09140cacee878034fa2308472ec835db4", 277 | "sha256:23cad5e5858dfb73c0e5bce03fe78e5e5908c22263156c58d4afdbb240683c6c", 278 | "sha256:345b1748e6b0d4773a518868c783b16fdc33a22683bdb863484cd29fe8d206e6", 279 | "sha256:34e6bb44e3d9a663f903b8c297ede865b4dff039aa43cc9a0b249e02c27f1396", 280 | "sha256:390f6e14a8d73591f086680464aa101a9be9187d0c633f48c98b429b31b712c2", 281 | "sha256:3f423b06bf67cd1dbf72e13e9b53a9ca71972e5abf712ee6cb5d8cbb178fff02", 282 | "sha256:55cae40d2024c56e7b79fb070106cb4289dcc6b55c62dba1d89a6944448c6a53", 283 | "sha256:60c56922c9d759d664078fbef94132377ef1498ab27dd3d0cc7a21b346e68c06", 284 | "sha256:6b1853364775edb85ceb0f7f8214d9e993d4d1d9bd3310eae80529ea14ba2ba6", 285 | "sha256:77399828d96cca386bfba453025c34f22569909d90332b961d3d4341cdb46a84", 286 | "sha256:7a5a1f49a643aa1ab3e0579da0a48b8a48ea4369eb63c5065459d0a37f430237", 287 | "sha256:817eed5a6ec2fc9c1a0ee3fbf9a441c66b6766383580513ccbdf3121acc0b4fb", 288 | "sha256:97ddfa7688295d460ee48a4d76337e9fdd2506d9d1d0eee7f0348b42b430da4c", 289 | "sha256:9bb690692f3101583b0b99f3be362742e4f8ebe6c7934fa36cd8ca2b567a0bcc", 290 | "sha256:a1772dc227e3e415eeaa646d25690dc854bddc3d626e454c7c27acba060cb900", 291 | "sha256:a1ffc9c770ccc2be9284310a3726c918b26ca19b34c0079e7a41aba950ab175f", 292 | "sha256:a4383edb1b8caa989c3541a37ef204916322c503b8eeacc7ee8f4ba24cac97b8", 293 | "sha256:b9e334568ca1bf56598eddfac6db6a75bcf1c91aa90d598648f21e45207daeae", 294 | "sha256:c9fb4fcfcdcaccfe2c4e1f9e0133ed59df5df2aa3655f3d391887e892b0a784c", 295 | "sha256:d3c5377c6122de876e695937ef41ffee5d2831154c5e4856481b93406cdfeecb", 296 | "sha256:d759ca1b76ac6f6b6159fb74984126035feb1dee9f68b4b961889b6dc090f33a", 297 | "sha256:e5cf3fdf13401885e8eea8170624ec96225e2174eb0c611c6f26dd33b489e3ff" 298 | ], 299 | "version": "==1.16.6" 300 | }, 301 | "pandas": { 302 | "hashes": [ 303 | "sha256:071e42b89b57baa17031af8c6b6bbd2e9a5c68c595bc6bf9adabd7a9ed125d3b", 304 | "sha256:17450e25ae69e2e6b303817bdf26b2cd57f69595d8550a77c308be0cd0fd58fa", 305 | "sha256:17916d818592c9ec891cbef2e90f98cc85e0f1e89ed0924c9b5220dc3209c846", 306 | "sha256:2538f099ab0e9f9c9d09bbcd94b47fd889bad06dc7ae96b1ed583f1dc1a7a822", 307 | "sha256:366f30710172cb45a6b4f43b66c220653b1ea50303fbbd94e50571637ffb9167", 308 | "sha256:42e5ad741a0d09232efbc7fc648226ed93306551772fc8aecc6dce9f0e676794", 309 | "sha256:4e718e7f395ba5bfe8b6f6aaf2ff1c65a09bb77a36af6394621434e7cc813204", 310 | "sha256:4f919f409c433577a501e023943e582c57355d50a724c589e78bc1d551a535a2", 311 | "sha256:4fe0d7e6438212e839fc5010c78b822664f1a824c0d263fd858f44131d9166e2", 312 | "sha256:5149a6db3e74f23dc3f5a216c2c9ae2e12920aa2d4a5b77e44e5b804a5f93248", 313 | "sha256:627594338d6dd995cfc0bacd8e654cd9e1252d2a7c959449228df6740d737eb8", 314 | "sha256:83c702615052f2a0a7fb1dd289726e29ec87a27272d775cb77affe749cca28f8", 315 | "sha256:8c872f7fdf3018b7891e1e3e86c55b190e6c5cee70cab771e8f246c855001296", 316 | "sha256:90f116086063934afd51e61a802a943826d2aac572b2f7d55caaac51c13db5b5", 317 | "sha256:a3352bacac12e1fc646213b998bce586f965c9d431773d9e91db27c7c48a1f7d", 318 | "sha256:bcdd06007cca02d51350f96debe51331dec429ac8f93930a43eb8fb5639e3eb5", 319 | "sha256:c1bd07ebc15285535f61ddd8c0c75d0d6293e80e1ee6d9a8d73f3f36954342d0", 320 | "sha256:c9a4b7c55115eb278c19aa14b34fcf5920c8fe7797a09b7b053ddd6195ea89b3", 321 | "sha256:cc8fc0c7a8d5951dc738f1c1447f71c43734244453616f32b8aa0ef6013a5dfb", 322 | "sha256:d7b460bc316064540ce0c41c1438c416a40746fd8a4fb2999668bf18f3c4acf1" 323 | ], 324 | "index": "pypi", 325 | "version": "==0.24.2" 326 | }, 327 | "pandocfilters": { 328 | "hashes": [ 329 | "sha256:b3dd70e169bb5449e6bc6ff96aea89c5eea8c5f6ab5e207fc2f521a2cf4a0da9" 330 | ], 331 | "version": "==1.4.2" 332 | }, 333 | "pathlib2": { 334 | "hashes": [ 335 | "sha256:0ec8205a157c80d7acc301c0b18fbd5d44fe655968f5d947b6ecef5290fc35db", 336 | "sha256:6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868" 337 | ], 338 | "markers": "python_version < '3'", 339 | "version": "==2.3.5" 340 | }, 341 | "pexpect": { 342 | "hashes": [ 343 | "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937", 344 | "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c" 345 | ], 346 | "markers": "sys_platform != 'win32'", 347 | "version": "==4.8.0" 348 | }, 349 | "pickleshare": { 350 | "hashes": [ 351 | "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", 352 | "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56" 353 | ], 354 | "version": "==0.7.5" 355 | }, 356 | "plotly": { 357 | "hashes": [ 358 | "sha256:8e1b323b20bb2e726cd1d5ea73c6ca7b13664513f7846e283cfed775f7cc4b26", 359 | "sha256:d69455e8214b6dcf5a6c56964062ab8e36c6909aff7ae1b629107b71e28a1ac0" 360 | ], 361 | "index": "pypi", 362 | "version": "==3.8.0" 363 | }, 364 | "prometheus-client": { 365 | "hashes": [ 366 | "sha256:71cd24a2b3eb335cb800c7159f423df1bd4dcd5171b234be15e3f31ec9f622da" 367 | ], 368 | "version": "==0.7.1" 369 | }, 370 | "prompt-toolkit": { 371 | "hashes": [ 372 | "sha256:37925b37a4af1f6448c76b7606e0285f79f434ad246dda007a27411cca730c6d", 373 | "sha256:dd4fca02c8069497ad931a2d09914c6b0d1b50151ce876bc15bde4c747090126", 374 | "sha256:f7eec66105baf40eda9ab026cd8b2e251337eea8d111196695d82e0c5f0af852" 375 | ], 376 | "version": "==1.0.18" 377 | }, 378 | "ptyprocess": { 379 | "hashes": [ 380 | "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0", 381 | "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f" 382 | ], 383 | "markers": "os_name != 'nt'", 384 | "version": "==0.6.0" 385 | }, 386 | "pygments": { 387 | "hashes": [ 388 | "sha256:2a3fe295e54a20164a9df49c75fa58526d3be48e14aceba6d6b1e8ac0bfd6f1b", 389 | "sha256:98c8aa5a9f778fcd1026a17361ddaf7330d1b7c62ae97c3bb0ae73e0b9b6b0fe" 390 | ], 391 | "version": "==2.5.2" 392 | }, 393 | "pyrsistent": { 394 | "hashes": [ 395 | "sha256:28669905fe725965daa16184933676547c5bb40a5153055a8dee2a4bd7933ad3" 396 | ], 397 | "version": "==0.16.0" 398 | }, 399 | "python-dateutil": { 400 | "hashes": [ 401 | "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c", 402 | "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a" 403 | ], 404 | "version": "==2.8.1" 405 | }, 406 | "pytz": { 407 | "hashes": [ 408 | "sha256:1c557d7d0e871de1f5ccd5833f60fb2550652da6be2693c1e02300743d21500d", 409 | "sha256:b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be" 410 | ], 411 | "version": "==2019.3" 412 | }, 413 | "pyzmq": { 414 | "hashes": [ 415 | "sha256:0bbc1728fe4314b4ca46249c33873a390559edac7c217ec7001b5e0c34a8fb7f", 416 | "sha256:1e076ad5bd3638a18c376544d32e0af986ca10d43d4ce5a5d889a8649f0d0a3d", 417 | "sha256:242d949eb6b10197cda1d1cec377deab1d5324983d77e0d0bf9dc5eb6d71a6b4", 418 | "sha256:26f4ae420977d2a8792d7c2d7bda43128b037b5eeb21c81951a94054ad8b8843", 419 | "sha256:32234c21c5e0a767c754181c8112092b3ddd2e2a36c3f76fc231ced817aeee47", 420 | "sha256:3f12ce1e9cc9c31497bd82b207e8e86ccda9eebd8c9f95053aae46d15ccd2196", 421 | "sha256:4557d5e036e6d85715b4b9fdb482081398da1d43dc580d03db642b91605b409f", 422 | "sha256:4f562dab21c03c7aa061f63b147a595dbe1006bf4f03213272fc9f7d5baec791", 423 | "sha256:5e071b834051e9ecb224915398f474bfad802c2fff883f118ff5363ca4ae3edf", 424 | "sha256:5e1f65e576ab07aed83f444e201d86deb01cd27dcf3f37c727bc8729246a60a8", 425 | "sha256:5f10a31f288bf055be76c57710807a8f0efdb2b82be6c2a2b8f9a61f33a40cea", 426 | "sha256:6aaaf90b420dc40d9a0e1996b82c6a0ff91d9680bebe2135e67c9e6d197c0a53", 427 | "sha256:75238d3c16cab96947705d5709187a49ebb844f54354cdf0814d195dd4c045de", 428 | "sha256:7f7e7b24b1d392bb5947ba91c981e7d1a43293113642e0d8870706c8e70cdc71", 429 | "sha256:84b91153102c4bcf5d0f57d1a66a0f03c31e9e6525a5f656f52fc615a675c748", 430 | "sha256:944f6bb5c63140d76494467444fd92bebd8674236837480a3c75b01fe17df1ab", 431 | "sha256:a1f957c20c9f51d43903881399b078cddcf710d34a2950e88bce4e494dcaa4d1", 432 | "sha256:a49fd42a29c1cc1aa9f461c5f2f5e0303adba7c945138b35ee7f4ab675b9f754", 433 | "sha256:a99ae601b4f6917985e9bb071549e30b6f93c72f5060853e197bdc4b7d357e5f", 434 | "sha256:ad48865a29efa8a0cecf266432ea7bc34e319954e55cf104be0319c177e6c8f5", 435 | "sha256:b08e425cf93b4e018ab21dc8fdbc25d7d0502a23cc4fea2380010cf8cf11e462", 436 | "sha256:bb10361293d96aa92be6261fa4d15476bca56203b3a11c62c61bd14df0ef89ba", 437 | "sha256:bd1a769d65257a7a12e2613070ca8155ee348aa9183f2aadf1c8b8552a5510f5", 438 | "sha256:cb3b7156ef6b1a119e68fbe3a54e0a0c40ecacc6b7838d57dd708c90b62a06dc", 439 | "sha256:e8e4efb52ec2df8d046395ca4c84ae0056cf507b2f713ec803c65a8102d010de", 440 | "sha256:f37c29da2a5b0c5e31e6f8aab885625ea76c807082f70b2d334d3fd573c3100a", 441 | "sha256:f4d558bc5668d2345773a9ff8c39e2462dafcb1f6772a2e582fbced389ce527f", 442 | "sha256:f5b6d015587a1d6f582ba03b226a9ddb1dfb09878b3be04ef48b01b7d4eb6b2a" 443 | ], 444 | "version": "==19.0.0" 445 | }, 446 | "qtconsole": { 447 | "hashes": [ 448 | "sha256:1eb76ca095f22aa8f0137e8672a63422bfa22bd9a202b64240c5de64103470c9", 449 | "sha256:d7834598825169fc322390fdfd96bf791833ded21bf22803f083662edbbf3d75" 450 | ], 451 | "version": "==4.7.2" 452 | }, 453 | "qtpy": { 454 | "hashes": [ 455 | "sha256:2db72c44b55d0fe1407be8fba35c838ad0d6d3bb81f23007886dc1fc0f459c8d", 456 | "sha256:fa0b8363b363e89b2a6f49eddc162a04c0699ae95e109a6be3bb145a913190ea" 457 | ], 458 | "version": "==1.9.0" 459 | }, 460 | "requests": { 461 | "hashes": [ 462 | "sha256:43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee", 463 | "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6" 464 | ], 465 | "version": "==2.23.0" 466 | }, 467 | "retrying": { 468 | "hashes": [ 469 | "sha256:08c039560a6da2fe4f2c426d0766e284d3b736e355f8dd24b37367b0bb41973b" 470 | ], 471 | "version": "==1.3.3" 472 | }, 473 | "scandir": { 474 | "hashes": [ 475 | "sha256:2586c94e907d99617887daed6c1d102b5ca28f1085f90446554abf1faf73123e", 476 | "sha256:2ae41f43797ca0c11591c0c35f2f5875fa99f8797cb1a1fd440497ec0ae4b022", 477 | "sha256:2b8e3888b11abb2217a32af0766bc06b65cc4a928d8727828ee68af5a967fa6f", 478 | "sha256:2c712840c2e2ee8dfaf36034080108d30060d759c7b73a01a52251cc8989f11f", 479 | "sha256:4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae", 480 | "sha256:67f15b6f83e6507fdc6fca22fedf6ef8b334b399ca27c6b568cbfaa82a364173", 481 | "sha256:7d2d7a06a252764061a020407b997dd036f7bd6a175a5ba2b345f0a357f0b3f4", 482 | "sha256:8c5922863e44ffc00c5c693190648daa6d15e7c1207ed02d6f46a8dcc2869d32", 483 | "sha256:92c85ac42f41ffdc35b6da57ed991575bdbe69db895507af88b9f499b701c188", 484 | "sha256:b24086f2375c4a094a6b51e78b4cf7ca16c721dcee2eddd7aa6494b42d6d519d", 485 | "sha256:cb925555f43060a1745d0a321cca94bcea927c50114b623d73179189a4e100ac" 486 | ], 487 | "markers": "python_version < '3.5'", 488 | "version": "==1.10.0" 489 | }, 490 | "send2trash": { 491 | "hashes": [ 492 | "sha256:60001cc07d707fe247c94f74ca6ac0d3255aabcb930529690897ca2a39db28b2", 493 | "sha256:f1691922577b6fa12821234aeb57599d887c4900b9ca537948d2dac34aea888b" 494 | ], 495 | "version": "==1.5.0" 496 | }, 497 | "simplegeneric": { 498 | "hashes": [ 499 | "sha256:dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173" 500 | ], 501 | "version": "==0.8.1" 502 | }, 503 | "six": { 504 | "hashes": [ 505 | "sha256:236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a", 506 | "sha256:8f3cd2e254d8f793e7f3d6d9df77b92252b52637291d0f0da013c76ea2724b6c" 507 | ], 508 | "version": "==1.14.0" 509 | }, 510 | "terminado": { 511 | "hashes": [ 512 | "sha256:4804a774f802306a7d9af7322193c5390f1da0abb429e082a10ef1d46e6fb2c2", 513 | "sha256:a43dcb3e353bc680dd0783b1d9c3fc28d529f190bc54ba9a229f72fe6e7a54d7" 514 | ], 515 | "version": "==0.8.3" 516 | }, 517 | "testpath": { 518 | "hashes": [ 519 | "sha256:60e0a3261c149755f4399a1fff7d37523179a70fdc3abdf78de9fc2604aeec7e", 520 | "sha256:bfcf9411ef4bf3db7579063e0546938b1edda3d69f4e1fb8756991f5951f85d4" 521 | ], 522 | "version": "==0.4.4" 523 | }, 524 | "tornado": { 525 | "hashes": [ 526 | "sha256:0662d28b1ca9f67108c7e3b77afabfb9c7e87bde174fbda78186ecedc2499a9d", 527 | "sha256:4e5158d97583502a7e2739951553cbd88a72076f152b4b11b64b9a10c4c49409", 528 | "sha256:732e836008c708de2e89a31cb2fa6c0e5a70cb60492bee6f1ea1047500feaf7f", 529 | "sha256:8154ec22c450df4e06b35f131adc4f2f3a12ec85981a203301d310abf580500f", 530 | "sha256:8e9d728c4579682e837c92fdd98036bd5cdefa1da2aaf6acf26947e6dd0c01c5", 531 | "sha256:d4b3e5329f572f055b587efc57d29bd051589fb5a43ec8898c77a47ec2fa2bbb", 532 | "sha256:e5f2585afccbff22390cddac29849df463b252b711aa2ce7c5f3f342a5b3b444" 533 | ], 534 | "version": "==5.1.1" 535 | }, 536 | "traitlets": { 537 | "hashes": [ 538 | "sha256:70b4c6a1d9019d7b4f6846832288f86998aa3b9207c6821f3578a6a6a467fe44", 539 | "sha256:d023ee369ddd2763310e4c3eae1ff649689440d4ae59d7485eb4cfbbe3e359f7" 540 | ], 541 | "version": "==4.3.3" 542 | }, 543 | "urllib3": { 544 | "hashes": [ 545 | "sha256:2f3db8b19923a873b3e5256dc9c2dedfa883e33d87c690d9c7913e1f40673cdc", 546 | "sha256:87716c2d2a7121198ebcb7ce7cccf6ce5e9ba539041cfbaeecfb641dc0bf6acc" 547 | ], 548 | "version": "==1.25.8" 549 | }, 550 | "wcwidth": { 551 | "hashes": [ 552 | "sha256:cafe2186b3c009a04067022ce1dcd79cb38d8d65ee4f4791b8888d6599d1bbe1", 553 | "sha256:ee73862862a156bf77ff92b09034fc4825dd3af9cf81bc5b360668d425f3c5f1" 554 | ], 555 | "version": "==0.1.9" 556 | }, 557 | "webencodings": { 558 | "hashes": [ 559 | "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", 560 | "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923" 561 | ], 562 | "version": "==0.5.1" 563 | }, 564 | "widgetsnbextension": { 565 | "hashes": [ 566 | "sha256:079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7", 567 | "sha256:bd314f8ceb488571a5ffea6cc5b9fc6cba0adaf88a9d2386b93a489751938bcd" 568 | ], 569 | "version": "==3.5.1" 570 | }, 571 | "zipp": { 572 | "hashes": [ 573 | "sha256:c70410551488251b0fee67b460fb9a536af8d6f9f008ad10ac51f615b6a521b1", 574 | "sha256:e0d9e63797e483a30d27e09fffd308c59a700d365ec34e93cc100844168bf921" 575 | ], 576 | "version": "==1.2.0" 577 | } 578 | }, 579 | "develop": {} 580 | } 581 | -------------------------------------------------------------------------------- /maven-opts/Pipfile.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_meta": { 3 | "hash": { 4 | "sha256": "4a518e3423045084c4b59247324e0f90ee2bcee6eca1ce2f4bae41323ed60597" 5 | }, 6 | "pipfile-spec": 6, 7 | "requires": { 8 | "python_version": "2.7" 9 | }, 10 | "sources": [ 11 | { 12 | "name": "pypi", 13 | "url": "https://pypi.org/simple", 14 | "verify_ssl": true 15 | } 16 | ] 17 | }, 18 | "default": { 19 | "attrs": { 20 | "hashes": [ 21 | "sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c", 22 | "sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72" 23 | ], 24 | "version": "==19.3.0" 25 | }, 26 | "backports.shutil-get-terminal-size": { 27 | "hashes": [ 28 | "sha256:0975ba55054c15e346944b38956a4c9cbee9009391e41b86c68990effb8c1f64", 29 | "sha256:713e7a8228ae80341c70586d1cc0a8caa5207346927e23d09dcbcaf18eadec80" 30 | ], 31 | "markers": "python_version == '2.7'", 32 | "version": "==1.0.0" 33 | }, 34 | "bleach": { 35 | "hashes": [ 36 | "sha256:cc8da25076a1fe56c3ac63671e2194458e0c4d9c7becfd52ca251650d517903c", 37 | "sha256:e78e426105ac07026ba098f04de8abe9b6e3e98b5befbf89b51a5ef0a4292b03" 38 | ], 39 | "index": "pypi", 40 | "version": "==3.1.4" 41 | }, 42 | "certifi": { 43 | "hashes": [ 44 | "sha256:017c25db2a153ce562900032d5bc68e9f191e44e9a0f762f373977de9df1fbb3", 45 | "sha256:25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f" 46 | ], 47 | "version": "==2019.11.28" 48 | }, 49 | "chardet": { 50 | "hashes": [ 51 | "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", 52 | "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" 53 | ], 54 | "version": "==3.0.4" 55 | }, 56 | "configparser": { 57 | "hashes": [ 58 | "sha256:254c1d9c79f60c45dfde850850883d5aaa7f19a23f13561243a050d5a7c3fe4c", 59 | "sha256:c7d282687a5308319bf3d2e7706e575c635b0a470342641c93bea0ea3b5331df" 60 | ], 61 | "markers": "python_version == '2.7'", 62 | "version": "==4.0.2" 63 | }, 64 | "contextlib2": { 65 | "hashes": [ 66 | "sha256:01f490098c18b19d2bd5bb5dc445b2054d2fa97f09a4280ba2c5f3c394c8162e", 67 | "sha256:3355078a159fbb44ee60ea80abd0d87b80b78c248643b49aa6d94673b413609b" 68 | ], 69 | "markers": "python_version < '3'", 70 | "version": "==0.6.0.post1" 71 | }, 72 | "decorator": { 73 | "hashes": [ 74 | "sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760", 75 | "sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7" 76 | ], 77 | "version": "==4.4.2" 78 | }, 79 | "defusedxml": { 80 | "hashes": [ 81 | "sha256:6687150770438374ab581bb7a1b327a847dd9c5749e396102de3fad4e8a3ef93", 82 | "sha256:f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5" 83 | ], 84 | "version": "==0.6.0" 85 | }, 86 | "entrypoints": { 87 | "hashes": [ 88 | "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19", 89 | "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451" 90 | ], 91 | "version": "==0.3" 92 | }, 93 | "enum34": { 94 | "hashes": [ 95 | "sha256:a98a201d6de3f2ab3db284e70a33b0f896fbf35f8086594e8c9e74b909058d53", 96 | "sha256:c3858660960c984d6ab0ebad691265180da2b43f07e061c0f8dca9ef3cffd328", 97 | "sha256:cce6a7477ed816bd2542d03d53db9f0db935dd013b70f336a95c73979289f248" 98 | ], 99 | "markers": "python_version == '2.7'", 100 | "version": "==1.1.10" 101 | }, 102 | "functools32": { 103 | "hashes": [ 104 | "sha256:89d824aa6c358c421a234d7f9ee0bd75933a67c29588ce50aaa3acdf4d403fa0", 105 | "sha256:f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d" 106 | ], 107 | "markers": "python_version < '3'", 108 | "version": "==3.2.3.post2" 109 | }, 110 | "idna": { 111 | "hashes": [ 112 | "sha256:7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb", 113 | "sha256:a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa" 114 | ], 115 | "version": "==2.9" 116 | }, 117 | "importlib-metadata": { 118 | "hashes": [ 119 | "sha256:2a688cbaa90e0cc587f1df48bdc97a6eadccdcd9c35fb3f976a09e3b5016d90f", 120 | "sha256:34513a8a0c4962bc66d35b359558fd8a5e10cd472d37aec5f66858addef32c1e" 121 | ], 122 | "markers": "python_version < '3.8'", 123 | "version": "==1.6.0" 124 | }, 125 | "ipaddress": { 126 | "hashes": [ 127 | "sha256:6e0f4a39e66cb5bb9a137b00276a2eff74f93b71dcbdad6f10ff7df9d3557fcc", 128 | "sha256:b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2" 129 | ], 130 | "markers": "python_version == '2.7'", 131 | "version": "==1.0.23" 132 | }, 133 | "ipykernel": { 134 | "hashes": [ 135 | "sha256:16550fd9287ee9e7e2cb6a1bef1c1e864cc35de395288b1de5902e00bb2f82f3", 136 | "sha256:1eee8df3cc0950373614127c67eee245c9029b40b3b230527a9a5f3b93dc6465", 137 | "sha256:eeb74b2bcfe0ced5a7900361f98fa1171288aa47ed4b522efe5acb167c6cf5fb" 138 | ], 139 | "version": "==4.10.1" 140 | }, 141 | "ipython": { 142 | "hashes": [ 143 | "sha256:54526d92db62bedd872c18131ac7d753fcf054ea34752e1e6ef8eb26391fb1f0", 144 | "sha256:8ac83f3a6232b7a5ee4d3535193e782d3de8c260e7b034b968a9cd1e1580f789", 145 | "sha256:fbeb7b8344dbb7f4939227ed9b2816ac6028db1775521365619b77f3c943ba74" 146 | ], 147 | "markers": "python_version < '3.3'", 148 | "version": "==5.9.0" 149 | }, 150 | "ipython-genutils": { 151 | "hashes": [ 152 | "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8", 153 | "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8" 154 | ], 155 | "version": "==0.2.0" 156 | }, 157 | "ipywidgets": { 158 | "hashes": [ 159 | "sha256:13ffeca438e0c0f91ae583dc22f50379b9d6b28390ac7be8b757140e9a771516", 160 | "sha256:e945f6e02854a74994c596d9db83444a1850c01648f1574adf144fbbabe05c97" 161 | ], 162 | "version": "==7.5.1" 163 | }, 164 | "jinja2": { 165 | "hashes": [ 166 | "sha256:93187ffbc7808079673ef52771baa950426fd664d3aad1d0fa3e95644360e250", 167 | "sha256:b0eaf100007721b5c16c1fc1eecb87409464edc10469ddc9a22a27a99123be49" 168 | ], 169 | "version": "==2.11.1" 170 | }, 171 | "jsonschema": { 172 | "hashes": [ 173 | "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163", 174 | "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a" 175 | ], 176 | "version": "==3.2.0" 177 | }, 178 | "jupyter": { 179 | "hashes": [ 180 | "sha256:3e1f86076bbb7c8c207829390305a2b1fe836d471ed54be66a3b8c41e7f46cc7", 181 | "sha256:5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78", 182 | "sha256:d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f" 183 | ], 184 | "index": "pypi", 185 | "version": "==1.0.0" 186 | }, 187 | "jupyter-client": { 188 | "hashes": [ 189 | "sha256:60e6faec1031d63df57f1cc671ed673dced0ed420f4377ea33db37b1c188b910", 190 | "sha256:d0c077c9aaa4432ad485e7733e4d91e48f87b4f4bab7d283d42bb24cbbba0a0f" 191 | ], 192 | "version": "==5.3.4" 193 | }, 194 | "jupyter-console": { 195 | "hashes": [ 196 | "sha256:3f928b817fc82cda95e431eb4c2b5eb21be5c483c2b43f424761a966bb808094", 197 | "sha256:545dedd3aaaa355148093c5609f0229aeb121b4852995c2accfa64fe3e0e55cd" 198 | ], 199 | "version": "==5.2.0" 200 | }, 201 | "jupyter-core": { 202 | "hashes": [ 203 | "sha256:394fd5dd787e7c8861741880bdf8a00ce39f95de5d18e579c74b882522219e7e", 204 | "sha256:a4ee613c060fe5697d913416fc9d553599c05e4492d58fac1192c9a6844abb21" 205 | ], 206 | "version": "==4.6.3" 207 | }, 208 | "markupsafe": { 209 | "hashes": [ 210 | "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", 211 | "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", 212 | "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", 213 | "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", 214 | "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42", 215 | "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", 216 | "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", 217 | "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", 218 | "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", 219 | "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", 220 | "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", 221 | "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b", 222 | "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", 223 | "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15", 224 | "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", 225 | "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", 226 | "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", 227 | "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", 228 | "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", 229 | "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", 230 | "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", 231 | "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", 232 | "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", 233 | "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", 234 | "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", 235 | "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", 236 | "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", 237 | "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", 238 | "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", 239 | "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", 240 | "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2", 241 | "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7", 242 | "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be" 243 | ], 244 | "version": "==1.1.1" 245 | }, 246 | "mistune": { 247 | "hashes": [ 248 | "sha256:59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e", 249 | "sha256:88a1051873018da288eee8538d476dffe1262495144b33ecb586c4ab266bb8d4" 250 | ], 251 | "version": "==0.8.4" 252 | }, 253 | "nbconvert": { 254 | "hashes": [ 255 | "sha256:21fb48e700b43e82ba0e3142421a659d7739b65568cc832a13976a77be16b523", 256 | "sha256:f0d6ec03875f96df45aa13e21fd9b8450c42d7e1830418cccc008c0df725fcee" 257 | ], 258 | "version": "==5.6.1" 259 | }, 260 | "nbformat": { 261 | "hashes": [ 262 | "sha256:d1407544cf0c53ee88f504b6c732aef6e0f407a0858b405fcf133e0a25bb787b" 263 | ], 264 | "version": "==5.0.3" 265 | }, 266 | "notebook": { 267 | "hashes": [ 268 | "sha256:573e0ae650c5d76b18b6e564ba6d21bf321d00847de1d215b418acb64f056eb8", 269 | "sha256:f64fa6624d2323fbef6210a621817d6505a45d0d4a9367f1843b20a38a4666ee" 270 | ], 271 | "version": "==5.7.8" 272 | }, 273 | "numpy": { 274 | "hashes": [ 275 | "sha256:08bf4f66f190822f4642e036accde8da810b87fffc0b9409e7a00d9e54760099", 276 | "sha256:1680c8d5086a88d293dfd1a10b6429a09140cacee878034fa2308472ec835db4", 277 | "sha256:23cad5e5858dfb73c0e5bce03fe78e5e5908c22263156c58d4afdbb240683c6c", 278 | "sha256:345b1748e6b0d4773a518868c783b16fdc33a22683bdb863484cd29fe8d206e6", 279 | "sha256:34e6bb44e3d9a663f903b8c297ede865b4dff039aa43cc9a0b249e02c27f1396", 280 | "sha256:390f6e14a8d73591f086680464aa101a9be9187d0c633f48c98b429b31b712c2", 281 | "sha256:3f423b06bf67cd1dbf72e13e9b53a9ca71972e5abf712ee6cb5d8cbb178fff02", 282 | "sha256:55cae40d2024c56e7b79fb070106cb4289dcc6b55c62dba1d89a6944448c6a53", 283 | "sha256:60c56922c9d759d664078fbef94132377ef1498ab27dd3d0cc7a21b346e68c06", 284 | "sha256:6b1853364775edb85ceb0f7f8214d9e993d4d1d9bd3310eae80529ea14ba2ba6", 285 | "sha256:77399828d96cca386bfba453025c34f22569909d90332b961d3d4341cdb46a84", 286 | "sha256:7a5a1f49a643aa1ab3e0579da0a48b8a48ea4369eb63c5065459d0a37f430237", 287 | "sha256:817eed5a6ec2fc9c1a0ee3fbf9a441c66b6766383580513ccbdf3121acc0b4fb", 288 | "sha256:97ddfa7688295d460ee48a4d76337e9fdd2506d9d1d0eee7f0348b42b430da4c", 289 | "sha256:9bb690692f3101583b0b99f3be362742e4f8ebe6c7934fa36cd8ca2b567a0bcc", 290 | "sha256:a1772dc227e3e415eeaa646d25690dc854bddc3d626e454c7c27acba060cb900", 291 | "sha256:a1ffc9c770ccc2be9284310a3726c918b26ca19b34c0079e7a41aba950ab175f", 292 | "sha256:a4383edb1b8caa989c3541a37ef204916322c503b8eeacc7ee8f4ba24cac97b8", 293 | "sha256:b9e334568ca1bf56598eddfac6db6a75bcf1c91aa90d598648f21e45207daeae", 294 | "sha256:c9fb4fcfcdcaccfe2c4e1f9e0133ed59df5df2aa3655f3d391887e892b0a784c", 295 | "sha256:d3c5377c6122de876e695937ef41ffee5d2831154c5e4856481b93406cdfeecb", 296 | "sha256:d759ca1b76ac6f6b6159fb74984126035feb1dee9f68b4b961889b6dc090f33a", 297 | "sha256:e5cf3fdf13401885e8eea8170624ec96225e2174eb0c611c6f26dd33b489e3ff" 298 | ], 299 | "version": "==1.16.6" 300 | }, 301 | "pandas": { 302 | "hashes": [ 303 | "sha256:071e42b89b57baa17031af8c6b6bbd2e9a5c68c595bc6bf9adabd7a9ed125d3b", 304 | "sha256:17450e25ae69e2e6b303817bdf26b2cd57f69595d8550a77c308be0cd0fd58fa", 305 | "sha256:17916d818592c9ec891cbef2e90f98cc85e0f1e89ed0924c9b5220dc3209c846", 306 | "sha256:2538f099ab0e9f9c9d09bbcd94b47fd889bad06dc7ae96b1ed583f1dc1a7a822", 307 | "sha256:366f30710172cb45a6b4f43b66c220653b1ea50303fbbd94e50571637ffb9167", 308 | "sha256:42e5ad741a0d09232efbc7fc648226ed93306551772fc8aecc6dce9f0e676794", 309 | "sha256:4e718e7f395ba5bfe8b6f6aaf2ff1c65a09bb77a36af6394621434e7cc813204", 310 | "sha256:4f919f409c433577a501e023943e582c57355d50a724c589e78bc1d551a535a2", 311 | "sha256:4fe0d7e6438212e839fc5010c78b822664f1a824c0d263fd858f44131d9166e2", 312 | "sha256:5149a6db3e74f23dc3f5a216c2c9ae2e12920aa2d4a5b77e44e5b804a5f93248", 313 | "sha256:627594338d6dd995cfc0bacd8e654cd9e1252d2a7c959449228df6740d737eb8", 314 | "sha256:83c702615052f2a0a7fb1dd289726e29ec87a27272d775cb77affe749cca28f8", 315 | "sha256:8c872f7fdf3018b7891e1e3e86c55b190e6c5cee70cab771e8f246c855001296", 316 | "sha256:90f116086063934afd51e61a802a943826d2aac572b2f7d55caaac51c13db5b5", 317 | "sha256:a3352bacac12e1fc646213b998bce586f965c9d431773d9e91db27c7c48a1f7d", 318 | "sha256:bcdd06007cca02d51350f96debe51331dec429ac8f93930a43eb8fb5639e3eb5", 319 | "sha256:c1bd07ebc15285535f61ddd8c0c75d0d6293e80e1ee6d9a8d73f3f36954342d0", 320 | "sha256:c9a4b7c55115eb278c19aa14b34fcf5920c8fe7797a09b7b053ddd6195ea89b3", 321 | "sha256:cc8fc0c7a8d5951dc738f1c1447f71c43734244453616f32b8aa0ef6013a5dfb", 322 | "sha256:d7b460bc316064540ce0c41c1438c416a40746fd8a4fb2999668bf18f3c4acf1" 323 | ], 324 | "index": "pypi", 325 | "version": "==0.24.2" 326 | }, 327 | "pandocfilters": { 328 | "hashes": [ 329 | "sha256:b3dd70e169bb5449e6bc6ff96aea89c5eea8c5f6ab5e207fc2f521a2cf4a0da9" 330 | ], 331 | "version": "==1.4.2" 332 | }, 333 | "pathlib2": { 334 | "hashes": [ 335 | "sha256:0ec8205a157c80d7acc301c0b18fbd5d44fe655968f5d947b6ecef5290fc35db", 336 | "sha256:6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868" 337 | ], 338 | "markers": "python_version < '3'", 339 | "version": "==2.3.5" 340 | }, 341 | "pexpect": { 342 | "hashes": [ 343 | "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937", 344 | "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c" 345 | ], 346 | "markers": "sys_platform != 'win32'", 347 | "version": "==4.8.0" 348 | }, 349 | "pickleshare": { 350 | "hashes": [ 351 | "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", 352 | "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56" 353 | ], 354 | "version": "==0.7.5" 355 | }, 356 | "plotly": { 357 | "hashes": [ 358 | "sha256:8e1b323b20bb2e726cd1d5ea73c6ca7b13664513f7846e283cfed775f7cc4b26", 359 | "sha256:d69455e8214b6dcf5a6c56964062ab8e36c6909aff7ae1b629107b71e28a1ac0" 360 | ], 361 | "index": "pypi", 362 | "version": "==3.8.0" 363 | }, 364 | "prometheus-client": { 365 | "hashes": [ 366 | "sha256:71cd24a2b3eb335cb800c7159f423df1bd4dcd5171b234be15e3f31ec9f622da" 367 | ], 368 | "version": "==0.7.1" 369 | }, 370 | "prompt-toolkit": { 371 | "hashes": [ 372 | "sha256:37925b37a4af1f6448c76b7606e0285f79f434ad246dda007a27411cca730c6d", 373 | "sha256:dd4fca02c8069497ad931a2d09914c6b0d1b50151ce876bc15bde4c747090126", 374 | "sha256:f7eec66105baf40eda9ab026cd8b2e251337eea8d111196695d82e0c5f0af852" 375 | ], 376 | "version": "==1.0.18" 377 | }, 378 | "ptyprocess": { 379 | "hashes": [ 380 | "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0", 381 | "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f" 382 | ], 383 | "markers": "os_name != 'nt'", 384 | "version": "==0.6.0" 385 | }, 386 | "pygments": { 387 | "hashes": [ 388 | "sha256:2a3fe295e54a20164a9df49c75fa58526d3be48e14aceba6d6b1e8ac0bfd6f1b", 389 | "sha256:98c8aa5a9f778fcd1026a17361ddaf7330d1b7c62ae97c3bb0ae73e0b9b6b0fe" 390 | ], 391 | "version": "==2.5.2" 392 | }, 393 | "pyrsistent": { 394 | "hashes": [ 395 | "sha256:28669905fe725965daa16184933676547c5bb40a5153055a8dee2a4bd7933ad3" 396 | ], 397 | "version": "==0.16.0" 398 | }, 399 | "python-dateutil": { 400 | "hashes": [ 401 | "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c", 402 | "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a" 403 | ], 404 | "version": "==2.8.1" 405 | }, 406 | "pytz": { 407 | "hashes": [ 408 | "sha256:1c557d7d0e871de1f5ccd5833f60fb2550652da6be2693c1e02300743d21500d", 409 | "sha256:b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be" 410 | ], 411 | "version": "==2019.3" 412 | }, 413 | "pyzmq": { 414 | "hashes": [ 415 | "sha256:0bbc1728fe4314b4ca46249c33873a390559edac7c217ec7001b5e0c34a8fb7f", 416 | "sha256:1e076ad5bd3638a18c376544d32e0af986ca10d43d4ce5a5d889a8649f0d0a3d", 417 | "sha256:242d949eb6b10197cda1d1cec377deab1d5324983d77e0d0bf9dc5eb6d71a6b4", 418 | "sha256:26f4ae420977d2a8792d7c2d7bda43128b037b5eeb21c81951a94054ad8b8843", 419 | "sha256:32234c21c5e0a767c754181c8112092b3ddd2e2a36c3f76fc231ced817aeee47", 420 | "sha256:3f12ce1e9cc9c31497bd82b207e8e86ccda9eebd8c9f95053aae46d15ccd2196", 421 | "sha256:4557d5e036e6d85715b4b9fdb482081398da1d43dc580d03db642b91605b409f", 422 | "sha256:4f562dab21c03c7aa061f63b147a595dbe1006bf4f03213272fc9f7d5baec791", 423 | "sha256:5e071b834051e9ecb224915398f474bfad802c2fff883f118ff5363ca4ae3edf", 424 | "sha256:5e1f65e576ab07aed83f444e201d86deb01cd27dcf3f37c727bc8729246a60a8", 425 | "sha256:5f10a31f288bf055be76c57710807a8f0efdb2b82be6c2a2b8f9a61f33a40cea", 426 | "sha256:6aaaf90b420dc40d9a0e1996b82c6a0ff91d9680bebe2135e67c9e6d197c0a53", 427 | "sha256:75238d3c16cab96947705d5709187a49ebb844f54354cdf0814d195dd4c045de", 428 | "sha256:7f7e7b24b1d392bb5947ba91c981e7d1a43293113642e0d8870706c8e70cdc71", 429 | "sha256:84b91153102c4bcf5d0f57d1a66a0f03c31e9e6525a5f656f52fc615a675c748", 430 | "sha256:944f6bb5c63140d76494467444fd92bebd8674236837480a3c75b01fe17df1ab", 431 | "sha256:a1f957c20c9f51d43903881399b078cddcf710d34a2950e88bce4e494dcaa4d1", 432 | "sha256:a49fd42a29c1cc1aa9f461c5f2f5e0303adba7c945138b35ee7f4ab675b9f754", 433 | "sha256:a99ae601b4f6917985e9bb071549e30b6f93c72f5060853e197bdc4b7d357e5f", 434 | "sha256:ad48865a29efa8a0cecf266432ea7bc34e319954e55cf104be0319c177e6c8f5", 435 | "sha256:b08e425cf93b4e018ab21dc8fdbc25d7d0502a23cc4fea2380010cf8cf11e462", 436 | "sha256:bb10361293d96aa92be6261fa4d15476bca56203b3a11c62c61bd14df0ef89ba", 437 | "sha256:bd1a769d65257a7a12e2613070ca8155ee348aa9183f2aadf1c8b8552a5510f5", 438 | "sha256:cb3b7156ef6b1a119e68fbe3a54e0a0c40ecacc6b7838d57dd708c90b62a06dc", 439 | "sha256:e8e4efb52ec2df8d046395ca4c84ae0056cf507b2f713ec803c65a8102d010de", 440 | "sha256:f37c29da2a5b0c5e31e6f8aab885625ea76c807082f70b2d334d3fd573c3100a", 441 | "sha256:f4d558bc5668d2345773a9ff8c39e2462dafcb1f6772a2e582fbced389ce527f", 442 | "sha256:f5b6d015587a1d6f582ba03b226a9ddb1dfb09878b3be04ef48b01b7d4eb6b2a" 443 | ], 444 | "version": "==19.0.0" 445 | }, 446 | "qtconsole": { 447 | "hashes": [ 448 | "sha256:1eb76ca095f22aa8f0137e8672a63422bfa22bd9a202b64240c5de64103470c9", 449 | "sha256:d7834598825169fc322390fdfd96bf791833ded21bf22803f083662edbbf3d75" 450 | ], 451 | "version": "==4.7.2" 452 | }, 453 | "qtpy": { 454 | "hashes": [ 455 | "sha256:2db72c44b55d0fe1407be8fba35c838ad0d6d3bb81f23007886dc1fc0f459c8d", 456 | "sha256:fa0b8363b363e89b2a6f49eddc162a04c0699ae95e109a6be3bb145a913190ea" 457 | ], 458 | "version": "==1.9.0" 459 | }, 460 | "requests": { 461 | "hashes": [ 462 | "sha256:43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee", 463 | "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6" 464 | ], 465 | "version": "==2.23.0" 466 | }, 467 | "retrying": { 468 | "hashes": [ 469 | "sha256:08c039560a6da2fe4f2c426d0766e284d3b736e355f8dd24b37367b0bb41973b" 470 | ], 471 | "version": "==1.3.3" 472 | }, 473 | "scandir": { 474 | "hashes": [ 475 | "sha256:2586c94e907d99617887daed6c1d102b5ca28f1085f90446554abf1faf73123e", 476 | "sha256:2ae41f43797ca0c11591c0c35f2f5875fa99f8797cb1a1fd440497ec0ae4b022", 477 | "sha256:2b8e3888b11abb2217a32af0766bc06b65cc4a928d8727828ee68af5a967fa6f", 478 | "sha256:2c712840c2e2ee8dfaf36034080108d30060d759c7b73a01a52251cc8989f11f", 479 | "sha256:4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae", 480 | "sha256:67f15b6f83e6507fdc6fca22fedf6ef8b334b399ca27c6b568cbfaa82a364173", 481 | "sha256:7d2d7a06a252764061a020407b997dd036f7bd6a175a5ba2b345f0a357f0b3f4", 482 | "sha256:8c5922863e44ffc00c5c693190648daa6d15e7c1207ed02d6f46a8dcc2869d32", 483 | "sha256:92c85ac42f41ffdc35b6da57ed991575bdbe69db895507af88b9f499b701c188", 484 | "sha256:b24086f2375c4a094a6b51e78b4cf7ca16c721dcee2eddd7aa6494b42d6d519d", 485 | "sha256:cb925555f43060a1745d0a321cca94bcea927c50114b623d73179189a4e100ac" 486 | ], 487 | "markers": "python_version < '3.5'", 488 | "version": "==1.10.0" 489 | }, 490 | "send2trash": { 491 | "hashes": [ 492 | "sha256:60001cc07d707fe247c94f74ca6ac0d3255aabcb930529690897ca2a39db28b2", 493 | "sha256:f1691922577b6fa12821234aeb57599d887c4900b9ca537948d2dac34aea888b" 494 | ], 495 | "version": "==1.5.0" 496 | }, 497 | "simplegeneric": { 498 | "hashes": [ 499 | "sha256:dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173" 500 | ], 501 | "version": "==0.8.1" 502 | }, 503 | "six": { 504 | "hashes": [ 505 | "sha256:236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a", 506 | "sha256:8f3cd2e254d8f793e7f3d6d9df77b92252b52637291d0f0da013c76ea2724b6c" 507 | ], 508 | "version": "==1.14.0" 509 | }, 510 | "terminado": { 511 | "hashes": [ 512 | "sha256:4804a774f802306a7d9af7322193c5390f1da0abb429e082a10ef1d46e6fb2c2", 513 | "sha256:a43dcb3e353bc680dd0783b1d9c3fc28d529f190bc54ba9a229f72fe6e7a54d7" 514 | ], 515 | "version": "==0.8.3" 516 | }, 517 | "testpath": { 518 | "hashes": [ 519 | "sha256:60e0a3261c149755f4399a1fff7d37523179a70fdc3abdf78de9fc2604aeec7e", 520 | "sha256:bfcf9411ef4bf3db7579063e0546938b1edda3d69f4e1fb8756991f5951f85d4" 521 | ], 522 | "version": "==0.4.4" 523 | }, 524 | "tornado": { 525 | "hashes": [ 526 | "sha256:0662d28b1ca9f67108c7e3b77afabfb9c7e87bde174fbda78186ecedc2499a9d", 527 | "sha256:4e5158d97583502a7e2739951553cbd88a72076f152b4b11b64b9a10c4c49409", 528 | "sha256:732e836008c708de2e89a31cb2fa6c0e5a70cb60492bee6f1ea1047500feaf7f", 529 | "sha256:8154ec22c450df4e06b35f131adc4f2f3a12ec85981a203301d310abf580500f", 530 | "sha256:8e9d728c4579682e837c92fdd98036bd5cdefa1da2aaf6acf26947e6dd0c01c5", 531 | "sha256:d4b3e5329f572f055b587efc57d29bd051589fb5a43ec8898c77a47ec2fa2bbb", 532 | "sha256:e5f2585afccbff22390cddac29849df463b252b711aa2ce7c5f3f342a5b3b444" 533 | ], 534 | "version": "==5.1.1" 535 | }, 536 | "traitlets": { 537 | "hashes": [ 538 | "sha256:70b4c6a1d9019d7b4f6846832288f86998aa3b9207c6821f3578a6a6a467fe44", 539 | "sha256:d023ee369ddd2763310e4c3eae1ff649689440d4ae59d7485eb4cfbbe3e359f7" 540 | ], 541 | "version": "==4.3.3" 542 | }, 543 | "urllib3": { 544 | "hashes": [ 545 | "sha256:2f3db8b19923a873b3e5256dc9c2dedfa883e33d87c690d9c7913e1f40673cdc", 546 | "sha256:87716c2d2a7121198ebcb7ce7cccf6ce5e9ba539041cfbaeecfb641dc0bf6acc" 547 | ], 548 | "version": "==1.25.8" 549 | }, 550 | "wcwidth": { 551 | "hashes": [ 552 | "sha256:cafe2186b3c009a04067022ce1dcd79cb38d8d65ee4f4791b8888d6599d1bbe1", 553 | "sha256:ee73862862a156bf77ff92b09034fc4825dd3af9cf81bc5b360668d425f3c5f1" 554 | ], 555 | "version": "==0.1.9" 556 | }, 557 | "webencodings": { 558 | "hashes": [ 559 | "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", 560 | "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923" 561 | ], 562 | "version": "==0.5.1" 563 | }, 564 | "widgetsnbextension": { 565 | "hashes": [ 566 | "sha256:079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7", 567 | "sha256:bd314f8ceb488571a5ffea6cc5b9fc6cba0adaf88a9d2386b93a489751938bcd" 568 | ], 569 | "version": "==3.5.1" 570 | }, 571 | "zipp": { 572 | "hashes": [ 573 | "sha256:c70410551488251b0fee67b460fb9a536af8d6f9f008ad10ac51f615b6a521b1", 574 | "sha256:e0d9e63797e483a30d27e09fffd308c59a700d365ec34e93cc100844168bf921" 575 | ], 576 | "version": "==1.2.0" 577 | } 578 | }, 579 | "develop": {} 580 | } 581 | --------------------------------------------------------------------------------