Add Array function benchmarks (#75)

This commit is contained in:
Matthew Murphy
2024-06-24 17:11:06 -04:00
committed by GitHub
parent 8f36c32405
commit d2a77c7247

35
benchmarks/core/array.gd Normal file
View File

@@ -0,0 +1,35 @@
extends Benchmark
static func create_array(size: int) -> Array[int]:
var result : Array[int] = []
result.resize(size)
for i: int in size:
result[i] = i
return result
# Creating the `ref` arrays triggers copy-on-write
const ITERATIONS = 1_000_000
var array_10 := create_array(10)
var array_ref_10 := array_10
var array_100 := create_array(100)
var array_ref_100 := array_100
func benchmark_reverse() -> void:
for i in ITERATIONS:
array_10.reverse()
func benchmark_bsearch() -> void:
for i in ITERATIONS:
var index := array_10.bsearch(array_10[i % array_10.size()])
assert(index != -1, "Invalid index could have unexpected results.")
func benchmark_append_array() -> void:
for i in ITERATIONS:
array_100.append_array(array_10)
func benchmark_fill() -> void:
for i in ITERATIONS:
array_10.fill(100 + i)