JSFiddle - React, Tailwind, and code Playground
by Sergei Marochkin
JavaScript
const data = {
pos1: {
x: 123,
y: 534,
z: 6565,
},
pos2: {
x: 12543,
y: 56534,
z: 6565,
},
};
function getDistance(pos1, pos2) {
return Math.hypot(pos1.x - pos2.x, pos1.y - pos2.y, pos1.z - pos2.z);
}
function getDistance2(pos1, pos2) {
return Math.sqrt((pos1.x - pos2.x) ** 2 + (pos1.y - pos2.y) ** 2 + (pos1.z - pos2.z) ** 2);
}
function getSquaredDistance(pos1, pos2) {
return (pos1.x - pos2.x) ** 2 + (pos1.y - pos2.y) ** 2 + (pos1.z - pos2.z) ** 2;
}
const iterations = 100000000;
let startTime;
startTime = Date.now();
for (let i = 0; i < iterations; i += 1) {
getDistance(data.pos1, data.pos2);
}
console.log('getDistance', Date.now() - startTime);
startTime = Date.now();
for (let i = 0; i < iterations; i += 1) {
getDistance2(data.pos1, data.pos2);
}
console.log('getDistance2', Date.now() - startTime);
startTime = Date.now();
for (let i = 0; i < iterations; i += 1) {
getSquaredDistance(data.pos1, data.pos2);
}
console.log('getSquaredDistance', Date.now() - startTime);