JSFiddle - React, Tailwind, and code Playground

JavaScript

const repeat1 = (str, n) => {
    let res = ''
    while (n) {
      if (n % 2 === 1) res += str
      if (n > 1) str += str
      n >>= 1
    }
    return res
  }

const repeat2 = (str, n) => {
  let res = ''
  while (n--) {
    res += str;
  }
  return res
}

const takeTime = (f,...arg) => {
	const st = Date.now()
	const result = f(...arg)
	const et = Date.now()
	return {time: et - st, result}
}

console.log(JSON.stringify(takeTime(repeat1.bind(null,"string",1000000))))
console.log(JSON.stringify(takeTime(repeat2.bind(null,"string",1000000))))