Как бы вы улучшили Dalvik? Виртуальная машина Android
-
06-07-2019 - |
Вопрос
В настоящее время я пишу статью на платформе Android. После некоторых исследований стало ясно, что в Dalvik есть возможности для улучшения. Мне было интересно, что, по вашему мнению, будет наилучшим использованием времени разработчика с этой целью?
JIT-компиляция кажется большой, но я также слышал, что она будет иметь ограниченное применение на такой машине с низким ресурсом. У кого-нибудь есть ресурс или данные, подтверждающие это?
Есть ли другие варианты, которые следует рассмотреть? Помимо разработки надежного собственного комплекта разработки для обхода виртуальной машины. Р>
Для тех, кто заинтересован, есть записанная и размещенная в Интернете лекция о Далвик В.М. .
Любые мысли приветствуются, так как этот вопрос выглядит субъективным . Я поясню, что ответ, который я приму, должен иметь некоторое обоснование для предлагаемых изменений. Любые данные для его резервного копирования, такие как улучшение Sun JVM, когда оно было представлено, были бы огромным плюсом.
Решение
Я уверен, что смогу придумать другие идеи, если они вам понадобятся.
Другие советы
Достойный GC. У современных сборщиков мусора нет больших заиканий.
Лучший анализ кода. Есть много случаев, когда распределение / освобождение не требуется, блокировки удерживаются и так далее. Это позволяет вам писать чистый код, а не проводить оптимизацию, чтобы машина лучше справлялась с
Теоретически большинство языков более высокого уровня (Java, Javascript, python, ...) должны в большинстве случаев не превышать 20% производительности нативного кода. Но это требует от разработчика платформы потратить 100 с лишним человеко-лет. Sun Java становится все лучше. Они также работают над этим в течение 10 лет.
Одна из главных проблем Dalvik - производительность, которую я слышал ужасно, но больше всего мне хотелось бы добавить больше языков.
В JVM были проекты сообщества, позволяющие запускать на платформе Python и Ruby, и даже для него были разработаны специальные языки, такие как Scala, Groovy и Closure. Было бы неплохо увидеть их (и / или других) на платформе Dalvik. Sun также работает над машиной Da Vinci - динамическим расширением JVM для типизации, которое указывает на серьезный отход от «одного языка для всех». Философия Солнца следовала за последние 15 лет.