Size: a a a

Android Dev Подкаст

2019 June 10

ST

Sasha Tainyuk in Android Dev Подкаст
Eugene Matsyuk
Ребят, если вы хотите погрузиться в автотесты. С чего начать, какую боль пройти, и как ее пройти, то смело смотрите вот это видео!
Мы с Димой и ребятами постарались вложить в этот доклад самое важное и лучшее)
Спойлер: Очень скоро будет выпущен фреймворк, который решает много боли =)
https://youtu.be/q_8UUhVDV7c
👍 спасибо
источник

М

Макс in Android Dev Подкаст
Eugene Matsyuk
Ребят, если вы хотите погрузиться в автотесты. С чего начать, какую боль пройти, и как ее пройти, то смело смотрите вот это видео!
Мы с Димой и ребятами постарались вложить в этот доклад самое важное и лучшее)
Спойлер: Очень скоро будет выпущен фреймворк, который решает много боли =)
https://youtu.be/q_8UUhVDV7c
Ждем Kaspresso
источник

DV

Dmitriy Voronin in Android Dev Подкаст
Eugene Matsyuk
Ребят, если вы хотите погрузиться в автотесты. С чего начать, какую боль пройти, и как ее пройти, то смело смотрите вот это видео!
Мы с Димой и ребятами постарались вложить в этот доклад самое важное и лучшее)
Спойлер: Очень скоро будет выпущен фреймворк, который решает много боли =)
https://youtu.be/q_8UUhVDV7c
посмотрел, спасибо что подняли настроение на весь день (на 56 минуте :))
источник

K

Konstantin in Android Dev Подкаст
Eugene Matsyuk
Ребят, если вы хотите погрузиться в автотесты. С чего начать, какую боль пройти, и как ее пройти, то смело смотрите вот это видео!
Мы с Димой и ребятами постарались вложить в этот доклад самое важное и лучшее)
Спойлер: Очень скоро будет выпущен фреймворк, который решает много боли =)
https://youtu.be/q_8UUhVDV7c
спасибо,  прям докладище! много узнал нового
источник

DM

Dmitry Movchan in Android Dev Подкаст
Dmitriy Voronin
посмотрел, спасибо что подняли настроение на весь день (на 56 минуте :))
источник

DV

Dmitriy Voronin in Android Dev Подкаст
источник

YV

Yonatan V.Levin in Android Dev Подкаст
Alexander Efremenkov
Потому что чёрным по белому написано, что теперь профиль из JIT компилятора будет дополнять AOT профиль при последующих использованиях, в том числе для горячего кода.
что-то я наверное упускаю, но наверное мы все ошибаемся и только ты Саша прав, но
АОТ компилирует в уже экзекьютерный код который потом лоадиться как бинарник в процес. Зачем тогдаему еще нужен компиляция во время рантайма JIT в горячем коде если там уже все скомпилировано заранее?
источник

YV

Yonatan V.Levin in Android Dev Подкаст
"Unlike Dalvik, ART introduces the use of ahead-of-time (AOT) compilation by compiling entire applications into native machine code upon their installation. By eliminating Dalvik's interpretation and trace-based JIT compilation, ART improves the overall execution efficiency and reduces power consumption, which results in improved battery autonomy on mobile devices"
https://en.wikipedia.org/wiki/Android_Runtime
и еще
"Once an application is compiled by using ART's on-device dex2oat utility, it is run solely from the compiled ELF executable; as a result, ART eliminates various application execution overheads associated with Dalvik's interpretation and trace-based JIT compilation."
источник

AE

Alexander Efremenkov in Android Dev Подкаст
Yonatan V.Levin
что-то я наверное упускаю, но наверное мы все ошибаемся и только ты Саша прав, но
АОТ компилирует в уже экзекьютерный код который потом лоадиться как бинарник в процес. Зачем тогдаему еще нужен компиляция во время рантайма JIT в горячем коде если там уже все скомпилировано заранее?
>АОТ компилирует в уже экзекьютерный код который потом лоадиться как бинарник в процес

а в какой момент времени происходит исполнение кода? ну то есть как скомпилять код, когда о нём ничего не известно?

>Зачем тогдаему еще нужен компиляция во время рантайма JIT в горячем коде если там уже все скомпилировано заранее

рантайму необходимо знание о том, как исполняется код, чтобы построить по нему профиль и скомпилировать его на основе этого профиля
источник

YV

Yonatan V.Levin in Android Dev Подкаст
"The big paradigm-shift that ART brings, is that instead of being a Just-in-Time (JIT) compiler, it now compiles application code Ahead-of-Time (AOT). The runtime goes from having to compile from bytecode to native code each time you run an application, to having it to do it only once, and any subsequent execution from that point forward is done from the existing compiled native code."
https://www.anandtech.com/show/8231/a-closer-look-at-android-runtime-art-in-android-l/
источник

YV

Yonatan V.Levin in Android Dev Подкаст
Alexander Efremenkov
>АОТ компилирует в уже экзекьютерный код который потом лоадиться как бинарник в процес

а в какой момент времени происходит исполнение кода? ну то есть как скомпилять код, когда о нём ничего не известно?

>Зачем тогдаему еще нужен компиляция во время рантайма JIT в горячем коде если там уже все скомпилировано заранее

рантайму необходимо знание о том, как исполняется код, чтобы построить по нему профиль и скомпилировать его на основе этого профиля
это все происходило при инсталирование приложение , из-за этого и родилась проблема что время установки значительно выросло.
источник

AE

Alexander Efremenkov in Android Dev Подкаст
Весь код? AOT? Без прогона?
источник

YV

Yonatan V.Levin in Android Dev Подкаст
насколько я понимаю - да. весь декс целиком компилировался во время инсталлирование в нативный код
источник

YV

Yonatan V.Levin in Android Dev Подкаст
почитай то что я скинул.
источник

AE

Alexander Efremenkov in Android Dev Подкаст
Ты же понимаешь что чудес не бывает? =)
источник

YV

Yonatan V.Levin in Android Dev Подкаст
ага. поэтому наверное мы закончим с тобой наш разговор. если без сарказма ты не умеешь разговаривать то и говорить не о чем.
источник

AE

Alexander Efremenkov in Android Dev Подкаст
Вообще, такое возможно (но не очень), только в случае, если скомпилять вообще всё, но на рантайме всё равно делать проверки, что эта та самая ветка исполнения. Если по факту ушли в другую ветку - то тут всё будет медленнее. Но это уже, по сути, спекуляция. Размер полностью скомпилмрованного кода тоже будет в разы превышать оригинальный.
источник

IP

Igor P in Android Dev Подкаст
До того момента, как прочитал этот диалог, придерживался точки зрения Йонатана, из всяких статеек и анонсов в Android L считал, что именно именно весь декс целиком компилировался в нативный код. И вот поэтому так долго висела табличка с оптимизацией приложений. Саша же придерживается другого мнения. Так все-таки как же было в Android L помогите разобраться)
источник

RB

Roman Byakov in Android Dev Подкаст
В споре рождается истина
источник

DS

Daniel Serdyukov in Android Dev Подкаст
Igor P
До того момента, как прочитал этот диалог, придерживался точки зрения Йонатана, из всяких статеек и анонсов в Android L считал, что именно именно весь декс целиком компилировался в нативный код. И вот поэтому так долго висела табличка с оптимизацией приложений. Саша же придерживается другого мнения. Так все-таки как же было в Android L помогите разобраться)
Тут легко ответить на вопрос. Если весь код компилируется а elf, нахер ему вообще тогда виртуальная машина?
источник