Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extends Node2D
- var pba_target := PackedByteArray()
- @onready var sharpnode = $sharpnode
- func bench(f: Callable, iterations: int):
- var start := Time.get_ticks_msec()
- for n in range(iterations):
- var ret = f.call()
- assert(ret == pba_target)
- var end := Time.get_ticks_msec()
- print(f)
- print(str(end - start) + " ms")
- func _ready() -> void:
- var a1: Array[int] = []
- var a2: Array[int] = []
- for n in range(10000):
- a1.append(randi())
- a2.append(randi())
- var pba1 := PackedByteArray(a1)
- var pba2 := PackedByteArray(a2)
- pba_target.resize(a1.size())
- for n in a1.size():
- pba_target[n] = a1[n] + a2[n]
- bench(pba.bind(pba1,pba2), 10000)
- bench(sharpnode.sharp_pba.bind(pba1,pba2), 10000)
- func pba(a1: PackedByteArray, a2: PackedByteArray) -> PackedByteArray:
- var a3 := PackedByteArray()
- a3.resize(a1.size())
- for n in a1.size():
- a3[n] = a1[n] + a2[n]
- return a3
- =========================================================================
- public partial class Sharp : Node
- {
- public static Byte[] sharp_pba(Byte[] a1, Byte[] a2) {
- Byte[] a3 = new Byte[a1.Length];
- for (int i = 0; i<a1.Length; i++) {
- a3[i] = (byte)(a1[i] + a2[i]);
- }
- return a3;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment