GlMatrix create() branchless

Benchmark created on


Description

Create Vectors and Matrices without checking ARRAY_TYPE for zero-initialization.

Preparation HTML


<!-- GLMatrix Update -->
<script src="https://rawcdn.githack.com/solarunes/gl-matrix/771dfba6e47e6ac001bc3e6152d4c1c86a268e52/dist/gl-matrix-min.js"></script>

<script>
window.glMatrixUpdate = glMatrix;
</script>

<!-- GLMatrix v3.4.4 (release) -->
<script src="https://cdn.jsdelivr.net/npm/gl-matrix@3.4.4/gl-matrix-min.min.js"></script>

Test runner

Ready to run.

Testing in
TestOps/sec
old vec2.create()
for (let i = 0; i < 100; i++) {
	const v = glMatrix.vec2.create();
}
ready
new vec2.create()
for (let i = 0; i < 100; i++) {
	const v = glMatrixUpdate.vec2.create();
}
ready
old vec3.create()
for (let i = 0; i < 100; i++) {
	const v = glMatrix.vec3.create();
}
ready
new vec3.create()
for (let i = 0; i < 100; i++) {
	const v = glMatrixUpdate.vec3.create();
}
ready
old vec4.create()
for (let i = 0; i < 100; i++) {
	const v = glMatrix.vec4.create();
}
ready
new vec4.create()
for (let i = 0; i < 100; i++) {
	const v = glMatrixUpdate.vec4.create();
}
ready
old mat2.create()
for (let i = 0; i < 100; i++) {
	const v = glMatrix.mat2.create();
}
ready
new mat2.create()
for (let i = 0; i < 100; i++) {
	const v = glMatrixUpdate.mat2.create();
}
ready
old mat2d.create()
for (let i = 0; i < 100; i++) {
	const v = glMatrix.mat2d.create();
}
ready
new mat2d.create()
for (let i = 0; i < 100; i++) {
	const v = glMatrixUpdate.mat2d.create();
}
ready
old mat3.create()
for (let i = 0; i < 100; i++) {
	const v = glMatrix.mat3.create();
}
ready
new mat3.create()
for (let i = 0; i < 100; i++) {
	const v = glMatrixUpdate.mat3.create();
}
ready
old mat4.create()
for (let i = 0; i < 100; i++) {
	const v = glMatrix.mat4.create();
}
ready
new mat4.create()
for (let i = 0; i < 100; i++) {
	const v = glMatrixUpdate.mat4.create();
}
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.