Qué es más rápido: prueba catch vs Promise

Escuché una opinión tal que debes evitar el uso de try / catch porque requiere muchos recursos. Entonces, ¿podría prometer que el manejo de errores podría ser más rápido? ¿O no importa en absoluto?

function f(somethingDangerous) {
  return new Promise((resolve, reject) => {
    // try {
    //   somethingDangerous();
    //   resolve();
    // } catch (err) {
    //   reject(err);
    // }

    // VS

    somethingDangerous();
    resolve();
  }).catch((err) => {
    console.error('Catched: ' + err);
  });
}

f(() => {throw 'DANGEROUS THING';});

UPD: Sé que try / catch no funcionará con código asíncrono dentro. Me pregunto si hay alguna razón para evitar probar / atrapar debido a problemas de rendimiento. ¿Y hay alguna diferencia entre los dos enfoques anteriores?

UPD2: Intenté correr mis caballos :)https://jsperf.com/try-catch-vs-promise

Respuestas a la pregunta(3)

Su respuesta a la pregunta