Files
2024-06-24 23:11:06 +02:00

36 lines
829 B
GDScript

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)