Algoritmo mais rápido para chamada de função JavaScript dentro de uma função

Eu escrevi uma função e chamei outra função dentro, mas meus testes mostram que não é o tempo otimizado. Como posso acelerar o código a seguir?

    function maxSum(arr, range) {


        function sumAll(array1, myrange) {

            var total = 0;

            if (Array.isArray(myrange)) {
                for (var i = myrange[0]; i <= myrange[1]; i++) {

                    total += array1[i];
                }

                return total;
            } else return array1[myrange];
        }

        var mylist = [];
        var l = range.length;


        for (var n = 0; n < l; n++) {
            mylist.push(sumAll(arr, range[n]));
        }

        return Math.max.apply(null, mylist);


    }

questionAnswers(3)

yourAnswerToTheQuestion