¿Usar promise all () para cálculos costosos en javascript? [duplicar]

Nov 26 2020

¿Tiene algún sentido utilizar la promesa all () para acelerar un cálculo costoso? Por ejemplo:

// Cálculo caro

const data = [1, 2, 3];

const f = (x) => {
  return x*x; // or a more complex formula
}

// Sin promesas

const f_data = data.map(f);

// Con promesas

const f_data = Promise.all(data.map((e) => Promise((e) => f(e))).then(res => res).catch(...);

¿Habrá alguna diferencia real en la velocidad de ejecución?

Respuestas

GuerricP Nov 26 2020 at 04:01

No, si desea acelerar los cálculos, debe utilizar trabajadores para aprovechar el subproceso múltiple.

Si lo usa Promise.all, todas las devoluciones de llamada se pondrán en cola y se ejecutarán en un solo hilo, uno tras otro.