Benchmark for objects allocations (#4216)
This commit is contained in:
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user