Benchmark for objects allocations (#4216)

This commit is contained in:
LepilkinaElena
2020-06-04 13:55:54 +04:00
committed by GitHub
parent fc66737dd0
commit dffbca432e
2 changed files with 26 additions and 0 deletions
+1
View File
@@ -26,6 +26,7 @@ class RingLauncher : Launcher() {
mutableMapOf(
"AbstractMethod.sortStrings" to BenchmarkEntryWithInit.create(::AbstractMethodBenchmark, { sortStrings() }),
"AbstractMethod.sortStringsWithComparator" to BenchmarkEntryWithInit.create(::AbstractMethodBenchmark, { sortStringsWithComparator() }),
"AllocationBenchmark.allocateObjects" to BenchmarkEntryWithInit.create(::AllocationBenchmark, { allocateObjects() }),
"ClassArray.copy" to BenchmarkEntryWithInit.create(::ClassArrayBenchmark, { copy() }),
"ClassArray.copyManual" to BenchmarkEntryWithInit.create(::ClassArrayBenchmark, { copyManual() }),
"ClassArray.filterAndCount" to BenchmarkEntryWithInit.create(::ClassArrayBenchmark, { filterAndCount() }),
@@ -0,0 +1,25 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
package org.jetbrains.ring
var counter = 0
open class AllocationBenchmark {
class MyClass {
fun inc() {
counter++
}
}
//Benchmark
fun allocateObjects() {
repeat(BENCHMARK_SIZE) {
MyClass().inc()
}
}
}