Oferă Kotlin îmbunătățiri de performanță? [închis] (Programare, Java, Kotlin)

Methnani Bilel a intrebat.

Kotlin oferă îmbunătățiri de performanță? Există vreun benchmarking? Este Kotlin mai rapid decât Java?Am găsit acest lucru pe site-ul Kotlin. https://kotlinlang.org/docs/reference/comparison-to-java.htmlVorbind despre caracteristicile limbajului, dar nu despre performanță.

Comentarii

  • Timpul de compilare este într-adevăr singura diferență de performanță la care mă pot gândi –  > Por Tdorno.
  • @Tdorno Am citit și eu (sursa: redd.it/3ddj8w) că, deoarece Kotlin inlinează apelurile lambda, în timp ce Java creează clase anonime, Kotlin poate fi marginal mai rapid în acest caz. Dar, în cea mai mare parte, Kotlin va compila la aproximativ același cod de octeți și va fi la fel de rapid ca și Java. –  > Por Craig Otis.
  • Kotlin va avea aproximativ aceeași viteză de compilare și de execuție ca și Java. Iată un articol bun, cu repere pentru primul caz. medium.com/keepsafe-engineering/… –  > Por zsmb13.
  • Ei bine, începe cu faptul că aproape fiecare propoziție este propria întrebare. Sunt de acord că răspunsul abordează multe aspecte, dar totuși lipsesc anumite aspecte – întotdeauna un indiciu al întrebărilor prea largi. –  > Por GhostCat.
  • Kotlin ar putea obține un spor de performanță pe Android P în comparație cu Java : androidpolice.com/2018/03/07/… , youtu.be/LBBqTd6uOd4 –  > Por dezvoltator android.
1 răspunsuri
yole

Kotlin generează un bytecode foarte asemănător cu Java, astfel încât performanța codului Kotlin este, în majoritatea cazurilor, aceeași cu performanța codului Java echivalent.

Un mod în care Kotlin poate fi mai rapid decât Java este funcțiile inline. Cu ajutorul funcțiilor inline, codul care utilizează funcții de ordin superior, cum ar fi filter sau map poate fi compilat într-un cod byte simplu, bazat pe bucle, care nu creează niciun obiect și nu utilizează apeluri virtuale (spre deosebire de codul Java care utilizează același tip de funcții).

Unele criterii de referință pentru Kotlin pot fi găsite aici, aici și aici.

Comentarii

  • Mă întreb cât de mult contează cu adevărat funcțiile inline Kotlin; JVM/JIT este foarte bun în ceea ce privește metodele inline și în timpul execuției. Dacă compilatorul Kotlin nu ar face inlining-ul, JVM-ul ar face cel mai probabil acest lucru în timpul execuției. –  > Por Jesper.
  • JVM-ul este foarte bun la inliniat apeluri simple de metode, dar nu este atât de bun la inliniat un site de apeluri megamorfice, cum ar fi codul unui filter funcție. –  > Por yole.
  • sites.google.com/a/athaydes.com/renato-athaydes/posts/… –  > Por Methnani Bilel.
  • Aceste apeluri de metode vor fi aproape sigur aliniate de Hotspot, astfel încât accesul la proprietăți nu va fi mai lent în practică. –  > Por yole.
  • Conform unui studiu realizat de Patrik Schwermer(2018) pentru a evalua performanța(consumul de memorie, colectarea gunoiului, primitivele de boxe și n-gramele de bytecode) lui Kotlin și Java pe Android Runtime, – Kotlin este mai lent decât Java Citiți raportul complet aici diva-portal.org/smash/get/diva2:1231573/FULLTEXT01.pdf –  > Por blongho.

Tags:,