@@ -84,7 +84,7 @@ abstract class AbstractBenchmarkTest {
8484 for (folder in testCasesFolder.listFiles()) {
8585 if ((! special_case.isNullOrEmpty() && special_case != " nothing" ) && folder.name != special_case) {
8686
87- println (special_case.isNullOrEmpty())
87+
8888 continue ;
8989 }
9090 if (folder.isDirectory) {
@@ -105,9 +105,12 @@ abstract class AbstractBenchmarkTest {
105105 val time = LocalDateTime .now()
106106 val formatter = DateTimeFormatter .ofPattern(" yyyy-MM-dd HH:mm:ss" )
107107 val formattedDateTime = time.format(formatter)
108- val logsFile = File (result_folder.toPath().toString(), formattedDateTime+ " work_times" + " .logs" )
109- val resultsLog = File (result_folder.toPath().toString(), formattedDateTime+ " results" + " .logs" )
110- val actualResult = createTree(input, grammar)
108+ var logsFile: File ? = null
109+ var resultsLog: File ? = null
110+ if (System .getProperty(" write_case_time" ) == " 1" ) {
111+ logsFile = File (result_folder.toPath().toString(), formattedDateTime + " work_times" + " .logs" )
112+ resultsLog = File (result_folder.toPath().toString(), formattedDateTime + " results" + " .logs" )
113+ }
111114 var x = 0
112115 var logs = " "
113116 val timeMeasurements = mutableListOf<Long >()
@@ -117,7 +120,6 @@ abstract class AbstractBenchmarkTest {
117120 val used = (Runtime .getRuntime().totalMemory() - Runtime .getRuntime().freeMemory()) / (1024 * 1024 )
118121 println (" Used memory: " + used + " MB" )
119122 val max_test_count = System .getProperty(" count_for_case" ).toInt()
120- println (" Used memorsssssy: " + max_test_count + " MB" )
121123 MemoryMonitor .start()
122124 while (x < max_test_count) {
123125 val start = System .nanoTime()
@@ -143,12 +145,18 @@ abstract class AbstractBenchmarkTest {
143145 println (" ===========================" )
144146 // останавливаем и получаем пик
145147 println (" Peak memory usage: $peak MB" )
146- logsFile.writeText(logs)
148+ if (System .getProperty(" write_case_time" ) == " 1" ) {
149+ logsFile?.writeText(logs)
150+ }
147151 logs = " \n === PERFORMANCE RESULTS === \n Total iterations: ${timeMeasurements.size} \n Average time: ${" %.3f" .format(averageTime / 1_000_000 )} ms" +
148152 " \n Min time: ${minTime / 1_000_000 } ms" +
149153 " \n Max time: ${maxTime / 1_000_000 } ms" +
150- " Total time: ${totalTime / 1_000_000_000.0 } seconds"
151- resultsLog.writeText(logs)
154+ " \n Total time: ${totalTime / 1_000_000_000.0 } seconds" +
155+ " \n Peak memory usage: $peak MB"
156+
157+ if (System .getProperty(" write_case_time" ) == " 1" ) {
158+ resultsLog?.writeText(logs)
159+ }
152160
153161 }
154162
0 commit comments