-Xcomp test time regressions?
    Aleksey Shipilev 
    shade at redhat.com
       
    Mon Jun 28 14:07:41 UTC 2021
    
    
  
On 6/28/21 3:49 PM, Aleksey Shipilev wrote:
> On 6/28/21 3:18 PM, David Holmes wrote:
>> Did we use to handle the TEST_VM_OPTS differently, such that it didn't
>> apply to the javac part?
> 
> Looking at test history, I think -Xcomp always applied to javac, but now -Xcomp is slower itself,
> and it shows. See below.
> 
>>> Before I go and bisect this more thoroughly, is this an already known
>>> thing?
> 
> Bisected.
> 
> Yes, it is a known thing:
>     https://bugs.openjdk.java.net/browse/JDK-8264903
> 
> So maybe we should attack it from a different angle: somehow ask jtreg to invoke javac without
> additional JVM options, so we don't spend significant time -Xcomp-ing javac itself. I tried to add
> "@build <testname>" to the exemplar test, but it is still compiled with -Xcomp. Either way, even if
> that worked, it would be awkward to add to every test out there.
> 
> jtreg docs say that -vmoption is used when compiling and running classes. I cannot find the option
> that could provide different VM options to compiling and running classes. Adding one might make sense?
Oh wait, there is -javaoption: and -javacoption:, hm. First option is accessible via JAVA_OPTIONS.
So these two things behave differently:
$ make run-test TEST=gc/shenandoah/mxbeans/TestPauseNotifications.java TEST_VM_OPTS="-Xcomp"
real	5m37.320s
user	18m17.810s
sys	0m14.241s
$ make run-test TEST=gc/shenandoah/mxbeans/TestPauseNotifications.java TEST_OPTS="JAVA_OPTIONS=-Xcomp"
real	2m16.399s
user	9m3.895s
sys	0m10.085s
I have checked that -Xcomp is indeed passed to the test in the latter case, and it compiles 
everything there. I guess it is time to revise my test scripts to always do the latter to save cycles.
-- 
Thanks,
-Aleksey
    
    
More information about the jdk-dev
mailing list