Как оптимизировать эту короткую факториальную функцию в Scala? (Создание 50000 BigInts)
Я сравнил версию Scala
(BigInt(1) to BigInt(50000)).reduce(_ * _)
к версии Python
reduce(lambda x,y: x*y, range(1,50000))
и получается, что версия scala заняла примерно в 10 раз больше, чем версия python.
Я предполагаю, большая разница в том, что python может использовать свой собственный тип long вместо создания новых BigInt-объектов для каждого числа. Но есть ли обходной путь в скале?