Обеспечивает ли Scala хорошую производительность на Android? (Июнь 2011 г.)

Я очень новичок в scala и считаю, что многие его идеи очень привлекательны. Я только что открыл проект scala для android, и мне интересно, можно ли ожидать, что он будет работать хорошо или, возможно, даже лучше, чем java?

Можно ли даже ожидать, что некоторые вещи лучше, чем java, даже если процессоры в основном являются одноядерными типами исполнения в режиме заказа на данный момент?

Если у кого-нибудь есть примеры или опыты поделиться, пожалуйста, сделайте!

Ответ 1

Единственное "отставание" - это размер apk, но если вы используете что-то вроде ProGuard, оно будет представлять только около 15k/25k больше, ничего существенного вообще. Что касается производительности, то то, что я видел, одинаково. Я имею в виду, что это не хуже (как это происходит с Clojure, будучи динамически типизированным), но я думаю, что он такой же, как Java.

Ответ 2

Да, да. Но чтобы сохранить размер пакета, используйте Proguard.

Если вы используете SBT, есть уже некоторый плагин, который автоматизирует весь процесс.

Ответ 3

Как и в большинстве вопросов, связанных с производительностью, правильный ответ: "Это зависит". Я не эксперт Scala (пока), но из того, что я видел до сих пор, он будет надежным в будущем - как в, с помощью Scala, чтобы улучшить/упростить многоядерную поддержку, - как та тенденция который быстро популяризируется, причем процессоры с двумя и четырьмя процессорами быстро становятся обычным явлением для высококлассных смартфонов. Для одноядерных и "простых" приложений, которые на самом деле не делают много вещей, которые могут быть парализованы, я предполагаю, что производительность будет равна или хуже. Однако производительность - это не все, особенно не для прототипов или одноразовых приложений. Более важны простота кодирования и скорости разработки, в которых Scala, если вы знакомы с ним, может помочь (из-за меньшего количества кода и более разумные конструкции).