Я делал базовый пример понимания функциональной композиции по сравнению с использованием карт и был весьма озадачен результатами производительности
const doubleIt = (x) => x*2
const render = (x) => `<li>${x}</li>`
const composeRenderAndDouble = function (x) {
return render(doubleIt(x));
}
const arr = Array(1000).fill(0)
const mergeArraysAndFunctionalManyMaps = (arr) => arr.map(doubleIt).map(render)
const mergeArraysAndFunctionalOneMap = (arr) => arr.map(composeRenderAndDouble)
mergeArraysAndFunctionalManyMaps(arr)// executes in 0.788ms
mergeArraysAndFunctionalOneMap(arr)// executes in 1.184ms
Я пытался запустить код несколько раз, и каждый раз, когда несколько карт работают быстрее, чем одна карта с функциональной композицией внутри.
Запуск в среде Node (v10)
Я бы предположил, что несколько карт будут работать медленнее, поскольку мы выполняем несколько итераций для одного и того же массива?