0

iOS uygulamaları Android uygulamalarından daha hızlı mıdır?

<p>Android uygulamaları derlenerek değil yorumlanarak &ccedil;alıştırıldığı i&ccedil;in iOS uygulamarına g&ouml;re daha yavaştırlar diye duydum. Doğru mudur?</p>
06.12.2014 tarihinde Banu^^ Banu^^ (4320) sordu
Yorum Ekle Takip Et
Beğen, Paylaş

Bu soru için yorumunuz

captcha

Vazgeç

Bu soruya toplam 1 cevap verilmiştir

0
<p>Java, Android&rsquo;de yorumlanmaz. Android uygulamaları programcılar tarafından bytecode&rsquo;a derlenirler. Bytecode programın sıkıştırılmış bir sunumudur. Programcı tarafından yazılan kaynak kodundan(Source code) daha k&uuml;&ccedil;&uuml;kt&uuml;r, ancak yine de CPU tarafından direkt olarak &ccedil;alıştırılabilir halde değildir. Bazı iyileştirmeler, dead code&rsquo;un kaldırılması gibi, bu aşamada yapılabilir.&nbsp;<br /> Uygulamayı bir cihaza y&uuml;klediğinizde, Dalvik JVM bytecode&rsquo;u Her an &ccedil;alışabilecek şekilde derler. Buna &ldquo;tam zamanında&rdquo; (just in time) derleme denir. Bu program derlemeyi beklediğinde, bariz bir yavaşlamaya neden oluyor, ancak bundan sonra bir performans y&uuml;k&uuml; olmuyor, &ccedil;&uuml;nk&uuml; kod temel seviyede, &ccedil;alıştırılabilir koda &ccedil;evrilmiş oluyor.&nbsp;Bunu geliştiricinin bilgisayarında a&ccedil;ık bir şekilde yapmaktan ziyade bu şekilde yapmanın performans y&ouml;n&uuml;nden bazı avantajları var. Uygulama telefonda belli bir CPU i&ccedil;in derlenmiş olabilir, donanım(hardware) &ouml;zelliklerini ve performans &ouml;zelliklerini kullanarak bu avantajı kullanır. &Ouml;rneğin, eğer ki CPU bunu destekliyorsa, yazılım ondalık işlemleri(floating-point operations) i&ccedil;in kullanabilir. Ek olarak, iyi bir JIT derleyicisi(kabul etmek gerekir ki Dalvik o kadar da iyi değil), programın &ccedil;alıştığı şekli g&ouml;r&uuml;nt&uuml;leyebilir ve programın ger&ccedil;ek kullanım şekline bağlı olarak iyileştirmeler yapabilir. Bir kez sizin ortamınızda, yani cihazınızda hangi se&ccedil;eneklerin a&ccedil;ılıp kapatıldığını g&ouml;rd&uuml;ğ&uuml;nde, daha iyi bir şekilde hedefe ulaşarak kodu yeniden derleyebilir. İyi bir derleyici bu bilgiye kullanması i&ccedil;in sahip değil.&nbsp;<br /> Dalvik, JIT derlemesinin hatalarını azaltmak i&ccedil;in Dalvik cache ve diğer teknikleri kullanıyor. Android L ve sonrası i&ccedil;in yeni bir JVM olan ART zamanının &ouml;tesinde bir derleyici olarak JIT&rsquo;in yerini tamamen ele ge&ccedil;irmiştir.&nbsp;ART bir uygulama y&uuml;klenir y&uuml;klenmez bytecode&rsquo;u yerel y&uuml;r&uuml;t&uuml;lebilir koda derleyerek JIT&rsquo;ın uygulama y&uuml;klerken sebep olduğu gecikme probleminden kurtarırken diğer t&uuml;m avantajlarını da sağlamaya devam eder. Şunu unutmayın ki, Android tam olarak Java i&ccedil;ermiyor. Geliştiriciler, uygulamanın t&uuml;m&uuml;n&uuml; ya da bir kısmını C ya da C++&rsquo;da yazmak i&ccedil;in, uygulamanın performansı kritik kısımları i&ccedil;in, &ouml;zellikle de oyunlar i&ccedil;in NDK&rsquo;yı kullanıyorlar. OpenGL ve RenderScript gibi &ouml;zel ama&ccedil;lı ara y&uuml;zler programcıların GPU ve SIMD ek işlemcisi gibi &ouml;zel yazılımların, bir &ccedil;eşit hesaplama i&ccedil;in avantajlarını kullanmalarına izin veriyorlar.&nbsp;<br /> Yani aslında, sorunuza verilebilecek basit bir cevap yok. En iyi olan derlemeyi kullanmak yerine JIT&rsquo;yi kullanmak bazı şeyleri daha hızlı hale getirirken, bazı şeyleri daha yavaş hale getiriyor. Bu t&uuml;m OS performansının sadece bir kısmı.&nbsp;</p>
25.01.2015 tarihinde
canavar canavar (1440) cevapladı
Soru bir şekilde bizi yanlış yönlendiriyor. “standart” bir Android uygulaması Java’da yazılıp, bytecode’da derlenirken, “Temel seviyede” İOS uygulaması Objective-C(ya da Swift) ile yazılıyor ve derleniyor. Ancak yine de, örneğin, PhoneGap/Cordova gibi HTML&JavaScript kullanarak iki platformda da uygulama yazılması mümkün. Bir HTML uygulaması genellikle aynı platformda basit bir uygulamadan daha yavaş çalışması için ayarlanmıştır. Yani, eğer ki aynı uygulama “diğer” platformda daha yavaş çalışıyor gibi görünüyorsa, belki de bu o farklı bir teknoloji ile üretildiği içindir. - 25.01.2015 tarihinde Burak Sözümçetin yorumladı

Bu cevap için yorumunuz

captcha

Vazgeç

Bu soru için cevabınız

Vazgeç