Skip to content

Instantly share code, notes, and snippets.

@dermotbalson
Created November 22, 2015 23:37
Show Gist options
  • Save dermotbalson/a94741a822fdc94d9629 to your computer and use it in GitHub Desktop.
Save dermotbalson/a94741a822fdc94d9629 to your computer and use it in GitHub Desktop.
Tests
local V=Vec2
function setup()
txt=""
n=50000000 --iterations
--test data
local a,b,c,d=23,-45.54,86,4
local v1,v2=vec3(120,3,-34),vec3(412,4,23)
v3,v4=vec2(5,-2),vec2(3.623,789.43)
vx3,vy3,vx4,vy4=v3.x,v3.y,v4.x,v4.y
local tbl={1,2,3,4}
local tbl2={}
tbl2[1]={1,2}
tbl2[2]={3,4}
tbl2[3]={5,6}
txt="" --n.." iterations on iPad Air 2\n"
--[[
txt=txt.."Add\n"
t=os.time()
for i=1,n do
local e = v3+v4
end
u=os.time()-t
txt=txt..format(n/60/u).." = vectors\n"
t=os.time()
for i=1,n do
local e,f = Vec2.add(vx3,vy3,vx4,vy4)
end
u=os.time()-t
txt=txt..format(n/60/u).." = Vec2\n"
t=os.time()
for i=1,n do
local e,f = V.add(vx3,vy3,vx4,vy4)
end
u=os.time()-t
txt=txt..format(n/60/u).." = localised Vec2\n"
t=os.time()
for i=1,n do
local e,f = vx3+vy3,vx4+vy4
end
u=os.time()-t
txt=txt..format(n/60/u).." = no function\n"
--]]
--[[
txt=txt.."Multiply\n"
t=os.time()
for i=1,n do
local e = v3*a
end
u=os.time()-t
txt=txt..format(n/60/u).." = vectors\n"
t=os.time()
for i=1,n do
local e,f = Vec2.mult(vx3,vy3,a)
end
u=os.time()-t
txt=txt..format(n/60/u).." = Vec2\n"
t=os.time()
for i=1,n do
local e,f = V.mult(vx3,vy3,a)
end
u=os.time()-t
txt=txt..format(n/60/u).." = localised Vec2\n"
t=os.time()
for i=1,n do
local e,f = vx3*a,vy3*a
end
u=os.time()-t
txt=txt..format(n/60/u).." = no function\n"
--]]
--[[
txt=txt.."Divide\n"
t=os.time()
for i=1,n do
local e = v3/a
end
u=os.time()-t
txt=txt..format(n/60/u).." = vectors\n"
t=os.time()
for i=1,n do
local e,f = Vec2.div(vx3,vy3,a)
end
u=os.time()-t
txt=txt..format(n/60/u).." = Vec2\n"
t=os.time()
for i=1,n do
local e,f = V.div(vx3,vy3,a)
end
u=os.time()-t
txt=txt..format(n/60/u).." = localised Vec2\n"
t=os.time()
for i=1,n do
local e,f = vx3/a,vy3/a
end
u=os.time()-t
txt=txt..format(n/60/u).." = no function\n"
--]]
--[[
txt=txt.."Length\n"
t=os.time()
for i=1,n do
local e = v3:len()
end
u=os.time()-t
txt=txt..format(n/60/u).." = vectors\n"
t=os.time()
for i=1,n do
local e = Vec2.len(vx3,vy3)
end
u=os.time()-t
txt=txt..format(n/60/u).." = Vec2\n"
t=os.time()
for i=1,n do
local e = V.len(vx3,vy3)
end
u=os.time()-t
txt=txt..format(n/60/u).." = localised Vec2\n"
t=os.time()
for i=1,n do
local e = (vx3*vx3+vy3*vy3)^0.5
end
u=os.time()-t
txt=txt..format(n/60/u).." = no function\n"
--]]
--[[
txt=txt.."Normalize\n"
t=os.time()
for i=1,n do
local e = v3:normalize()
end
u=os.time()-t
txt=txt..format(n/60/u).." = vectors\n"
t=os.time()
for i=1,n do
local e = Vec2.normalize(vx3,vy3)
end
u=os.time()-t
txt=txt..format(n/60/u).." = Vec2\n"
t=os.time()
for i=1,n do
local e = V.normalize(vx3,vy3)
end
u=os.time()-t
txt=txt..format(n/60/u).." = localised Vec2\n"
t=os.time()
for i=1,n do
local e = 1/(vx3*vx3+vy3*vy3)^0.5
local f,g=vx3*e,vy3*e
end
u=os.time()-t
txt=txt..format(n/60/u).." = no function\n"
--]]
--[[
txt=txt.."Dot\n"
t=os.time()
for i=1,n do
local e = v3:dot(v4)
end
u=os.time()-t
txt=txt..format(n/60/u).." = vectors\n"
t=os.time()
for i=1,n do
local e = Vec2.dot(vx3,vy3,vx4,vy4)
end
u=os.time()-t
txt=txt..format(n/60/u).." = Vec2\n"
t=os.time()
for i=1,n do
local e = V.dot(vx3,vy3,vx4,vy4)
end
u=os.time()-t
txt=txt..format(n/60/u).." = localised Vec2\n"
t=os.time()
for i=1,n do
local e = vx3*vx4+vy3*vy4
end
u=os.time()-t
txt=txt..format(n/60/u).." = no function\n"
--]]
--[[
txt=txt.."Cross\n"
t=os.time()
for i=1,n do
local e = v3:cross(v4)
end
u=os.time()-t
txt=txt..format(n/60/u).." = vectors\n"
t=os.time()
for i=1,n do
local e = Vec2.cross(vx3,vy3,vx4,vy4)
end
u=os.time()-t
txt=txt..format(n/60/u).." = Vec2\n"
t=os.time()
for i=1,n do
local e = V.cross(vx3,vy3,vx4,vy4)
end
u=os.time()-t
txt=txt..format(n/60/u).." = localised Vec2\n"
t=os.time()
for i=1,n do
local e = vx3*vy4-vy3*vx4
end
u=os.time()-t
txt=txt..format(n/60/u).." = no function\n"
--]]
print(txt)
sound(SOUND_JUMP, 29119)
end
--------------------------
--[[
Add
23,809 = vectors
75,757 = Vec2
92,592 = localised Vec2
166,666 = no function
Multiply
25,252 = vectors
92,592 = Vec2
104,166 = localised Vec2
208,333 = no function
Divide
25,252 = vectors
92,592 = Vec2
119,047 = localised Vec2
208,333 = no function
Length
75,757 = vectors
59,523 = Vec2
69,444 = localised Vec2
75,757 = no function
Normalize
22,522 = vectors
37,878 = Vec2
39,682 = localised Vec2
59,523 = no function
Dot
43,859 = vectors
75,757 = Vec2
92,592 = localised Vec2
138,888 = no function
Cross
46,296 = vectors
75,757 = Vec2
92,592 = localised Vec2
138,888 = no function
--]]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment