Skip to content

Instantly share code, notes, and snippets.

@dbnicholson
Created July 3, 2024 16:53
Show Gist options
  • Save dbnicholson/5ab252bf748944ed37874ac7f9268e87 to your computer and use it in GitHub Desktop.
Save dbnicholson/5ab252bf748944ed37874ac7f9268e87 to your computer and use it in GitHub Desktop.
extends Node
const DATA_CYCLES: int = 100_000
const TEST_CYCLES: int = 10
var data := PackedVector2Array([
Vector2.ZERO,
Vector2.ZERO,
Vector2.ZERO,
Vector2.ZERO,
])
func append_one():
var x: PackedVector2Array
for _i in range(DATA_CYCLES):
for v in data:
x.append(v)
return x.size()
func append_array():
var x: PackedVector2Array
for _i in range(DATA_CYCLES):
x.append_array(data)
return x.size()
func append_array_one():
var x: PackedVector2Array
for _i in range(DATA_CYCLES):
for v in data:
x.append_array([v])
return x.size()
func plus_equals():
var x: PackedVector2Array
for _i in range(DATA_CYCLES):
x += data
return x.size()
func timeit(f):
var time: int = 0
for _j in range(TEST_CYCLES):
var t0 = Time.get_ticks_msec()
f.call()
var t1 = Time.get_ticks_msec()
time += (t1 - t0)
print(f, ": ", time / TEST_CYCLES, "ms")
func _ready():
timeit(append_one)
timeit(append_array)
timeit(append_array_one)
#timeit(plus_equals)
await get_tree().create_timer(0.5).timeout
get_tree().quit()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment