LINUX.ORG.RU
ФорумMobile

Anroid N: from AOT back to JIT?

 , , , , а я не понял


0

1

Я чо-то не понял, из этого видео получается что в Android N опять вернулись с ART на Dalvik? Ведь JIT компилятор это фича Dalvik, а ART потому и устанавливал так долго приложения что компилировал их при установке

★★★★★

Во-первых глупо судить о подкапотной виртуальной машины опираясь только на время установки приложений, а во-вторых, у автора видео что-то определенно не так с устройством, ибо даже на моем старом н7 (Android M 6.0.1) лицокнига ставится за ~28 секунд.

Jefail ★★★★
()
Ответ на: комментарий от mystery

Так во время установки компилируется, а потом пользуешься

так суть ролика что на Galaxy S7 с Marshmallow, в котором проц минимум в 2 раза мощнее чем в Nexus 6P, пейсбук устанавливался в ART аж 3 минуты, и это время ушло на компиляцию. А на Nexus 6P с Android N процесса компиляции не было ВООБЩЕ, поэтому пейсбук просто распаковал свои файлы за 30сек и был таков. Значит, они снова забили на AOT?

Karapuz ★★★★★
() автор топика
Ответ на: комментарий от Karapuz

Как более общий вывод из этого: Google по сути признал провалом изобретение NIH своей жаба-машины Dalvik, возню с левым стеком, а в итоге вернулся к православной JRE на OpenJDK.

Karapuz ★★★★★
() автор топика
Ответ на: комментарий от Karapuz

Короче, Google говном как был так говном и остался. Нечего было с JavaME слезать и все было бы мягко и шелковисто

Karapuz ★★★★★
() автор топика
Ответ на: комментарий от Karapuz

Dalvik – это не Java-машина. Это раз.

JRE в Android не появилось. До Android N код стандартной библиотеки Java был основан на Apache Harmony, теперь он будет заменён на код OpenJDK. Это два.

mono ★★★★★
()
Ответ на: комментарий от mono

Dalvik – это не Java-машина

Точно. Это машина для языка, похожего на Java.

tailgunner ★★★★★
()
Ответ на: комментарий от Karapuz

изобретение NIH своей жаба-машины Dalvik

Изобрели ее не google, к слову

qrck ★★
()

Лень что-ли поискать на сайте самого гугла? ведь в 2 счета находится:

In Android N, we've added a Just in Time (JIT) compiler with code profiling to ART, which lets it constantly improve the performance of Android apps as they run. The JIT compiler complements ART's current Ahead of Time (AOT) compiler and helps improve runtime performance, save storage space, and speed up app updates and system updates.

Суть в том, что ART остался, но JIT похоже используется для профилирования и «оптимизации» ART кода. Возможно это означает не полную компиляцию всего в ART бинарник в процессе установки, но потом - когда JIT компиляет что-то в первый раз - результат будет сохранен и не будет повторно компилироваться при следующих запусках / после перезагрузки. Плюс JIT позволяет лучше оптимизировать код бинарный.

http://developer.android.com/preview/api-overview.html#jit_aot

qrck ★★
()

Смысл в том что теперь любой бенчмарк на Android теряет свой смысл, с каждым прогоном Antutu результат будет все лучше и лучше

Karapuz ★★★★★
() автор топика
Ответ на: комментарий от qrck

когда JIT компиляет что-то в первый раз - результат будет сохранен и не будет повторно компилироваться при следующих запусках / после перезагрузки.

то, что в jre вроде с 1.6 уже имплементировали, в Google худо-бедно смогли только в 2016м году повторить. ну, OK, чо.

Karapuz ★★★★★
() автор топика
Ответ на: комментарий от Karapuz

то, что в jre вроде с 1.6 уже имплементировали, в Google худо-бедно смогли только в 2016м году повторить. ну, OK, чо.

То, о чем вы говорите, AFAIK появилось только в Java 8. До этого на диск кешь не сбрасывался никак, и не сохранялся между запусками.

qrck ★★
()
Ответ на: комментарий от qrck

Сохранялся в память в блоке Code Cache, если память не изменяет. Это в тру жабе. Что касается сохранения между запускамии - это как, и где сохраняет, есть пруф? Если про ведройд - тогда вопрос снят

ii8_ ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.