Skip to content

Commit 3286379

Browse files
author
Antoine Brunner
committed
Add some benchmarks in tupleCons
1 parent a681098 commit 3286379

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

bench-run/src/main/scala/dotty/tools/benchmarks/tuples/Concat.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ class Concat {
1010
var sizes: String = _
1111
var tuple1: Tuple = _
1212
var tuple2: Tuple = _
13-
var array1: Array[Object] = _
14-
var array2: Array[Object] = _
1513

1614
def tupleOfSize(n: Int): Tuple = {
1715
var t: Tuple = ()

bench-run/src/main/scala/dotty/tools/benchmarks/tuples/Cons.scala

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,33 @@ class Cons {
88
@Param(Array("0"))
99
var size: Int = _
1010
var tuple: Tuple = _
11-
var array: Array[Object] = _
11+
var array1: Array[Object] = _
12+
var array2: Array[Object] = _
1213

1314
@Setup
1415
def setup(): Unit = {
1516
tuple = ()
1617

1718
for (i <- 1 to size)
1819
tuple = "elem" *: tuple
20+
21+
array1 = new Array[Object](size)
22+
array2 = new Array[Object](size + 1)
1923
}
2024

2125
@Benchmark
2226
def tupleCons(): Tuple = {
2327
DynamicTuple.dynamicCons("elem", tuple)
2428
}
29+
30+
@Benchmark
31+
def createArray(): Array[Object] = {
32+
new Array[Object](size + 1)
33+
}
34+
35+
@Benchmark
36+
def consArray(): Array[Object] = {
37+
System.arraycopy(array1, 0, array2, 1, size)
38+
array2
39+
}
2540
}

0 commit comments

Comments
 (0)