Should I even use sync loops in JS? [closed]

All is in the title: should we even use sync loops when we have Promise.all ? Here is an example

const values = ["foo", "bar", "baz"];

const upperValuesMap = values.map((s) => s.toUpperCase());
const upperValuesPromises = await Promise.all(values.map(async (s) => s.toUpperCase())); // seems faster, but is it really ?

Is the method with Promise.all always faster than the loop ? If not, what are the case in which we would prefer a loop ?