make/RunTests.gmk
branchJEP-230-microbenchmarks-branch
changeset 56926 d86dd5847e6d
parent 56922 4219852032ba
child 56978 8fbb2fb7589f
equal deleted inserted replaced
56925:6dd05d35378e 56926:d86dd5847e6d
   145 
   145 
   146 ### Microbenchmarks
   146 ### Microbenchmarks
   147 
   147 
   148 $(eval $(call ParseKeywordVariable, MICRO, \
   148 $(eval $(call ParseKeywordVariable, MICRO, \
   149     KEYWORDS := ITER FORK TIME WARMUP_ITER WARMUP_TIME, \
   149     KEYWORDS := ITER FORK TIME WARMUP_ITER WARMUP_TIME, \
   150     STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS TEST_JDK BENCHMARKS_JAR, \
   150     STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS RESULTS_FORMAT TEST_JDK BENCHMARKS_JAR, \
   151 ))
   151 ))
   152 
   152 
   153 ifneq ($(MICRO), )
   153 ifneq ($(MICRO), )
   154   # Inform the user
   154   # Inform the user
   155   $(info Running tests using MICRO control variable '$(MICRO)')
   155   $(info Running tests using MICRO control variable '$(MICRO)')
   485   $$(eval $$(call SetMicroValue,$1,MICRO_JAVA_OPTIONS))
   485   $$(eval $$(call SetMicroValue,$1,MICRO_JAVA_OPTIONS))
   486 
   486 
   487   # Current tests needs to open java.io
   487   # Current tests needs to open java.io
   488   $1_MICRO_JAVA_OPTIONS += --add-opens=java.base/java.io=ALL-UNNAMED
   488   $1_MICRO_JAVA_OPTIONS += --add-opens=java.base/java.io=ALL-UNNAMED
   489 
   489 
   490   # Save output as CSV file
   490   # Save output as JSON or CSV file
   491   $1_MICRO_BASIC_OPTIONS += -rf csv -rff $$($1_TEST_RESULTS_DIR)/jmh-result.csv
   491   ifneq ($$(MICRO_RESULTS_FORMAT), )
   492 
   492     $1_MICRO_BASIC_OPTIONS += -rf $$(MICRO_RESULTS_FORMAT) -rff $$($1_TEST_RESULTS_DIR)/jmh-result.$(MICRO_RESULTS_FORMAT)
   493   # Always specify test JVM
   493   endif
   494   $1_MICRO_BASIC_OPTIONS += -jvm $$($1_MICRO_TEST_JDK)/bin/java
       
   495 
   494 
   496   ifneq ($$(MICRO_VM_OPTIONS), )
   495   ifneq ($$(MICRO_VM_OPTIONS), )
   497     $1_MICRO_VM_OPTIONS := -jvmArgs $$(MICRO_VM_OPTIONS)
   496     $1_MICRO_VM_OPTIONS := -jvmArgs $$(MICRO_VM_OPTIONS)
   498   endif
   497   endif
   499 
   498 
   516   run-test-$1:
   515   run-test-$1:
   517 	$$(call LogWarn)
   516 	$$(call LogWarn)
   518 	$$(call LogWarn, Running test '$$($1_TEST)')
   517 	$$(call LogWarn, Running test '$$($1_TEST)')
   519 	$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
   518 	$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
   520 	$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/micro, \
   519 	$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/micro, \
   521 	    $$(JAVA) $$($1_MICRO_JAVA_OPTIONS) -jar $$($1_MICRO_BENCHMARKS_JAR) \
   520 	    $$($1_MICRO_TEST_JDK)/bin/java $$($1_MICRO_JAVA_OPTIONS) -jar $$($1_MICRO_BENCHMARKS_JAR) \
   522 	        $$($1_MICRO_ITER) $$($1_MICRO_FORK) $$($1_MICRO_TIME) \
   521 	        $$($1_MICRO_ITER) $$($1_MICRO_FORK) $$($1_MICRO_TIME) \
   523 	        $$($1_MICRO_WARMUP_ITER) $$($1_MICRO_WARMUP_TIME) \
   522 	        $$($1_MICRO_WARMUP_ITER) $$($1_MICRO_WARMUP_TIME) \
   524 	        $$($1_MICRO_VM_OPTIONS) $$($1_MICRO_BASIC_OPTIONS) $$(MICRO_OPTIONS)  \
   523 	        $$($1_MICRO_VM_OPTIONS) $$($1_MICRO_BASIC_OPTIONS) $$(MICRO_OPTIONS)  \
   525 	        $$($1_TEST_NAME) \
   524 	        $$($1_TEST_NAME) \
   526 	        > >($(TEE) $$($1_TEST_RESULTS_DIR)/micro.txt) \
   525 	        > >($(TEE) $$($1_TEST_RESULTS_DIR)/micro.txt) \