Перформансе апликације Јава вс Ц - објашњава Гари

Аутор: John Stephens
Датум Стварања: 23 Јануар 2021
Ажурирати Датум: 1 Јули 2024
Anonim
Хуан Энрикес: Будут ли наши дети другим видом людей?
Видео: Хуан Энрикес: Будут ли наши дети другим видом людей?

Садржај


Почевши од најгорег резултата, 32-битног Андроид 5.0, показује да је Јава код функционирао 296% спорије од Ц или другим речима 4 пута спорије. Опет, запамтите да овде није важна апсолутна брзина, већ разлика у времену потребном за покретање Јава кода у поређењу са Ц кодом, на истом уређају. 32-битни Андроид 4.4 КитКат са својим Далвик ЈВМ је нешто бржи, 237%. Једном када се прескочи на Андроид 6.0 Марсхмаллов, ствари се почињу драматично побољшавати, 64-битни Андроид 6.0 доноси најмању разлику између Јава и Ц.

Други тест је тест правих бројева, користећи пробно дељење. Као што је горе наведено, овај код користи 64-битну везудуго целих бројева и стога ће фаворизирати 64-битне процесоре.

Као што се и очекивало, најбољи резултати долазе од Андроида који ради на 64-битним процесорима. За 64-битни Андроид 6.0 разлика у брзини је врло мала, само 3%. Док је за 64-битни Андроид 5.0 то 38%. Ово показује побољшања између АРТ-а на Андроид 5.0 и верзије Оптимизација компајлер који АРТ користи у Андроиду 6.0. Будући да је Андроид 7.0 Н још увек развојна бета верзија, нисам приказао резултате, али генерално делује једнако добро као и Андроид 6.0 М, ако не и бољи. Лошији резултати су за 32-битне верзије Андроида, а чудно 32-битни Андроид 6.0 доноси најгоре резултате у групи.


Трећи и последњи тест извршава тешку математичку функцију за милион итерација. Функција чини аритметику целог броја као и аритметику с помичном тачком.

И овде по први пут имамо резултат где Јава заправо ради брже од Ц! Постоје два могућа објашњења за то и оба су у вези са оптимизацијом и Оптимизингпреводилац из АРМ-а. Прво, Оптимизинг компајлер је могао произвести оптималнији код за ААрцх64, с бољом расподјелом регистра итд., него Ц компајлер у Андроид Студио. Бољи преводилац увек значи и боље перформансе. Такође би могла постојати стаза кроз шифру коју Оптимизингкомпајлер је израчунао да може да се оптимизује, јер нема утицаја на крајњи резултат, али Ц преводилац није приметио ову оптимизацију. Знам да је ова врста оптимизације била један од главних фокусирања на Оптимизингкомпајлер у Андроид 6.0. Пошто је моја функција само чисти изум, могао би постојати начин да се оптимизира код који изоставља неке одељке, али нисам је приметио.Други разлог је тај што позивање ове функције, чак и милион пута, не проузрокује покретање сакупљача смећа.


Као и код примес теста, и овај тест користи 64-битнидуго цели бројеви, због чега је следећи најбољи резултат 64-битни Андроид 5.0. Затим долази 32-битни Андроид 6.0, затим 32-битни Андроид 5.0, и на крају 32-битни Андроид 4.4.

Упаковати

Ц опћенито је бржи од Јаве, међутим јаз између њих драстично је смањен издањем 64-битног Андроида 6.0 Марсхмаллов. Наравно да у стварном свету одлука о коришћењу Јава или Ц није црно-бела. Иако Ц има неке предности, сви Андроид УИ, све Андроид услуге и сви Андроид АПИ дизајнирани су за позивање с Јаве. Ц се заиста може користити само када желите празно платно ОпенГЛ и желите да цртате на њему без употребе Андроид АПИ-ја.

Међутим, ако ваша апликација има тешко подизање, ти делови би могли да се пренесу на Ц и можда ћете видети побољшање брзине, али не онолико колико сте некада могли да видите.

Према новој гласини изКореа Хералд, вероватно нећемо видети Самсунг Галаки Фолд лансирање у јуну 2019. године.Кореа Хералд као извор тих информација наводи „изворе индустрије“ и „поједине телекомуника...

Након одлагања издања Галаки Фолд-а због проблема са хардвером, Самсунг је најавио да ће поново покренути Галаки Фолд у септембру.Компанија је саопштила да је направила неколико побољшања хардвера Гал...

Прочитајте Данас