Prestasi vs Java app C - Gary menerangkan

Pengarang: John Stephens
Tarikh Penciptaan: 23 Januari 2021
Tarikh Kemas Kini: 1 Julai 2024
Anonim
C vs C++ vs Java | Difference Between C, C++ and Java | Great Learning
Video.: C vs C++ vs Java | Difference Between C, C++ and Java | Great Learning

Kandungan


Bermula dengan skor yang paling teruk, 32-bit Android 5.0, menunjukkan bahawa kod Java berlari 296% lebih lambat daripada C, atau dengan kata lain 4 kali perlahan. Sekali lagi, ingat bahawa kelajuan mutlak tidak penting di sini, melainkan perbezaan masa yang diambil untuk menjalankan kod Java berbanding dengan kod C, pada peranti yang sama. 32-bit Android 4.4 KitKat dengan Dalvik JVM yang sedikit lebih cepat pada 237%. Sebaik sahaja lompatan dibuat kepada Android 6.0, perkara Marshmallow mula membaik secara mendadak, dengan 64-bit Android 6.0 menghasilkan perbezaan terkecil antara Java dan C.

Ujian kedua ialah ujian nombor utama, menggunakan percubaan oleh bahagian. Seperti yang dinyatakan di atas kod ini menggunakan 64-bitlama integer dan oleh itu akan memihak kepada pemproses 64-bit.

Seperti yang dijangka, hasil terbaik datang daripada Android yang dijalankan pada pemproses 64-bit. Untuk 64-bit Android 6.0 perbezaan kelajuan adalah sangat kecil, hanya 3%. Sementara untuk 64-bit Android 5.0 ia adalah 38%. Ini menunjukkan peningkatan antara ART pada Android 5.0 dan Mengoptimumkan pengkompil yang digunakan oleh ART dalam Android 6.0. Sejak Android 7.0 N masih beta pembangunan saya tidak menunjukkan hasilnya, namun ia secara amnya melaksanakan serta Android 6.0 M, jika tidak lebih baik. Keputusan yang lebih buruk adalah untuk versi Android 32-bit dan 32-bit Android 6.0 yang aneh menghasilkan keputusan terburuk dari kumpulan itu.


Ujian ketiga dan terakhir melaksanakan fungsi matematik berat untuk satu juta lelaran. Fungsi ini melakukan aritmetik integer serta aritmetik titik terapung.

Dan di sini untuk kali pertama kita mempunyai hasil di mana Java sebenarnya berjalan lebih cepat daripada C! Terdapat dua penjelasan yang mungkin untuk ini dan kedua-duanya berkaitan dengan pengoptimuman dan Optimizingpengkompil dari ARM. Pertama, Optimizing pengkompil boleh menghasilkan lebih banyak kod yang optimum untuk AArch64, dengan peruntukan pendaftaran yang lebih baik dan sebagainya, daripada pengkompil C di Android Studio. Pengkompil yang lebih baik selalu bermakna prestasi yang lebih baik. Juga terdapat laluan melalui kod yang mana Optimizingpengkompil telah dikira dapat dioptimumkan kerana ia tidak mempunyai pengaruh pada hasil akhir, tetapi pengkompil C tidak melihat pengoptimuman ini. Saya tahu bahawa pengoptimuman semacam ini adalah salah satu tumpuan besar bagi Optimizingpengkompil dalam Android 6.0. Oleh kerana fungsi itu hanyalah ciptaan tulen di pihak saya, mungkin terdapat cara untuk mengoptimumkan kod yang tidak termasuk beberapa bahagian, tetapi saya tidak melihatnya.Alasan lain ialah memanggil fungsi ini, walaupun satu juta kali, tidak menyebabkan pengumpul sampah berjalan.


Seperti dengan ujian prima, ujian ini menggunakan 64-bitlama integer, sebab itulah skor terbaik seterusnya datang dari 64-bit Android 5.0. Kemudian datang 32-bit Android 6.0, diikuti oleh 32-bit Android 5.0, dan akhirnya 32-bit Android 4.4.

Wrap-up

Keseluruhan C adalah lebih cepat daripada Java, namun jurang antara kedua-dua telah dikurangkan secara drastik dengan pembebasan 64-bit Android 6.0 Marshmallow. Sudah tentu di dunia nyata, keputusan untuk menggunakan Java atau C tidak hitam dan putih. Walaupun C mempunyai beberapa kelebihan, semua UI Android, semua perkhidmatan Android, dan semua API Android direka untuk dipanggil dari Java. C benar-benar boleh digunakan apabila anda mahu kanvas kosong OpenGL dan anda mahu menarik kanvas itu tanpa menggunakan apa-apa API Android.

Walau bagaimanapun jika aplikasi anda mempunyai pengangkat berat untuk dilakukan, maka bahagian-bahagian ini boleh dipindahkan ke C dan anda mungkin melihat peningkatan kelajuan, namun tidak seperti yang pernah anda lihat sebelumnya.

Mewujudkan akaun Google adalah mudah. Tidak tahu bagaimana untuk melakukannya? Tidak riau! Inilah caranya untuk menyediakan akaun Google tanpa ebarang maalah. Anda akan menemui arahan langkah demi lan...

Anda boleh menetapkan Kodi pada beberapa platform termauk Window, Android, dan iO, ebaliknya. Proenya cepat dan mudah, walaupun ia berbeza dari platform ke platform. Untuk memaang Kodi pada peranti An...

Pilihan Editor.