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);