Added benchmarks
This commit is contained in:
parent
37ed8890ec
commit
8de91eaba1
63
client/benchmark/Benchmark.gd
Normal file
63
client/benchmark/Benchmark.gd
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
var n := 1000000
|
||||||
|
var benchmarks = [
|
||||||
|
"pass",
|
||||||
|
"get_node",
|
||||||
|
"find_child",
|
||||||
|
"get_child",
|
||||||
|
"get_parent",
|
||||||
|
"get_viewport",
|
||||||
|
"get_tree",
|
||||||
|
"create_timer",
|
||||||
|
]
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
for b in benchmarks:
|
||||||
|
print("%s:" % b)
|
||||||
|
bench(self["_%s" % b])
|
||||||
|
|
||||||
|
await get_tree().create_timer(0.5).timeout
|
||||||
|
get_tree().quit()
|
||||||
|
|
||||||
|
func bench(callable: Callable):
|
||||||
|
var t := now()
|
||||||
|
callable.call()
|
||||||
|
prints(round((now() - t) / n * 1000000000), "ns")
|
||||||
|
|
||||||
|
func now() -> float:
|
||||||
|
return Time.get_unix_time_from_system()
|
||||||
|
|
||||||
|
func _pass():
|
||||||
|
for i in range(n):
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _get_node():
|
||||||
|
for i in range(n):
|
||||||
|
get_node("Child")
|
||||||
|
|
||||||
|
func _find_child():
|
||||||
|
for i in range(n):
|
||||||
|
find_child("Child")
|
||||||
|
|
||||||
|
func _get_child():
|
||||||
|
for i in range(n):
|
||||||
|
get_child(0)
|
||||||
|
|
||||||
|
func _get_parent():
|
||||||
|
for i in range(n):
|
||||||
|
get_parent()
|
||||||
|
|
||||||
|
func _get_viewport():
|
||||||
|
for i in range(n):
|
||||||
|
get_viewport()
|
||||||
|
|
||||||
|
func _get_tree():
|
||||||
|
for i in range(n):
|
||||||
|
get_tree()
|
||||||
|
|
||||||
|
func _create_timer():
|
||||||
|
var tree := get_tree()
|
||||||
|
|
||||||
|
for i in range(n):
|
||||||
|
tree.create_timer(0)
|
10
client/benchmark/Benchmark.tscn
Normal file
10
client/benchmark/Benchmark.tscn
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[gd_scene load_steps=2 format=3 uid="uid://bk5p5w2gxxuq5"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://benchmark/Benchmark.gd" id="1_363x2"]
|
||||||
|
|
||||||
|
[node name="Benchmark" type="Node"]
|
||||||
|
|
||||||
|
[node name="Node" type="Node" parent="."]
|
||||||
|
script = ExtResource("1_363x2")
|
||||||
|
|
||||||
|
[node name="Child" type="Node" parent="Node"]
|
Loading…
Reference in New Issue
Block a user