-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fail jhm on error and fix benchmarks #5020
Conversation
The classpath is intended for type checking, not for compiler run-time. Thus, they should be passed as compiler options, not JVM options. It works before because the compiler makes bootstrap classpath available for type checking. However, we can no longer use bootstrap classpath after Java 9 support (scala#3138).
test performance please |
performance test scheduled: 1 job(s) in queue, 0 running. |
performance test failed: Please check http://lamppc37.epfl.ch:8000/pull-5020-08-26-13.38.out for more information |
Was trying to review but was confused by You're right on the rest, tho it's confusing that we allow benchmarks to depend on the whole compiler? If we need that, that's not detected by the tests. This change
changes
to
yet benchmarks still seem to work. |
performance test scheduled: 1 job(s) in queue, 0 running. |
Performance test finished successfully: Visit http://dotty-bench.epfl.ch/5020/ to see the changes. Benchmarks is based on merging with master (28ddeac) |
test performance please |
performance test scheduled: 1 job(s) in queue, 0 running. |
Performance test finished successfully: Visit http://dotty-bench.epfl.ch/5020/ to see the changes. Benchmarks is based on merging with master (28ddeac) |
val standard_libs = System.getProperty("BENCH_CLASS_PATH") | ||
val compiler_libs = System.getProperty("BENCH_COMPILER_CLASS_PATH") | ||
|
||
val libs = if (args.contains("-with-compiler")) compiler_libs else standard_libs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is -with-compiler
used anywhere? Where would it be used?
If this is used, we should test it in the project/scripts/cmdTests
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea, it'll used in the benchmarks to test "dotty". I'll add it to project/scripts/cmdTests
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks otherwise OK but I'd like to understand that bit.
project/scripts/cmdTests
Outdated
@@ -12,6 +12,7 @@ EXPECTED_OUTPUT="hello world" | |||
# check that benchmarks can run | |||
"$SBT" "dotty-bench/jmh:run 1 1 tests/pos/alias.scala" | |||
"$SBT" "dotty-bench-bootstrapped/jmh:run 1 1 tests/pos/alias.scala" | |||
"$SBT" "dotty-bench-bootstrapped/jmh:run 1 1 -with-compiler $($(find compiler/src/dotty -name *.scala -o -name *.java))" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we test on a single file? This will be fairly slow
It could be one of the macro test that require the compile on the classpath
#3138 breaks the benchmarks, but it's not catched by the CI due to a missing setting for JMH.
This PR shows the problem and proposes a fix (in the 2nd commit).