Обеспечивает ли Scala хорошую производительность на Android? (Июнь 2011 г.)
Я очень новичок в scala и считаю, что многие его идеи очень привлекательны. Я только что открыл проект scala для android, и мне интересно, можно ли ожидать, что он будет работать хорошо или, возможно, даже лучше, чем java?
Можно ли даже ожидать, что некоторые вещи лучше, чем java, даже если процессоры в основном являются одноядерными типами исполнения в режиме заказа на данный момент?
Если у кого-нибудь есть примеры или опыты поделиться, пожалуйста, сделайте!
Ответы
Ответ 1
Единственное "отставание" - это размер apk, но если вы используете что-то вроде ProGuard, оно будет представлять только около 15k/25k больше, ничего существенного вообще. Что касается производительности, то то, что я видел, одинаково. Я имею в виду, что это не хуже (как это происходит с Clojure, будучи динамически типизированным), но я думаю, что он такой же, как Java.
Ответ 2
Да, да. Но чтобы сохранить размер пакета, используйте Proguard.
Если вы используете SBT, есть уже некоторый плагин, который автоматизирует весь процесс.
Ответ 3
Как и в большинстве вопросов, связанных с производительностью, правильный ответ: "Это зависит". Я не эксперт Scala (пока), но из того, что я видел до сих пор, он будет надежным в будущем - как в, с помощью Scala, чтобы улучшить/упростить многоядерную поддержку, - как та тенденция который быстро популяризируется, причем процессоры с двумя и четырьмя процессорами быстро становятся обычным явлением для высококлассных смартфонов. Для одноядерных и "простых" приложений, которые на самом деле не делают много вещей, которые могут быть парализованы, я предполагаю, что производительность будет равна или хуже. Однако производительность - это не все, особенно не для прототипов или одноразовых приложений. Более важны простота кодирования и скорости разработки, в которых Scala, если вы знакомы с ним, может помочь (из-за меньшего количества кода и более разумные конструкции).