Frage

Ich bin derzeit ein Papier auf der Android-Plattform zu schreiben. Nach einigem Forschung , dann ist es klar, dass Dalvik Raum für Verbesserungen hat. Ich habe mich gefragt, was denken Sie, mit diesem Ziel ist die optimale Nutzung eines Entwicklers Zeit sein würde?

JIT-Kompilierung scheint, wie die große, aber dann habe gehört, ich habe auch diese nur von begrenztem Nutzen auf einem so niedrigen Ressourcen Maschine wäre. Hat jemand eine Ressource oder Daten, die diese sichert?

Gibt es andere Optionen, die berücksichtigt werden sollten? Abgesehen von einer robusten nativen Development Kit Entwicklung der VM zu umgehen.

Für diejenigen, die interessiert sind, gibt es einen Vortrag, der aufgezeichnet wurde und online gestellt in Bezug auf die Dalvik VM .

Alle Gedanken willkommen, da diese Frage erscheint subjektiv ich werde klarstellen, dass die Antwort, die ich akzeptieren werde eine gewisse Berechtigung für die vorgeschlagenen Änderungen haben muss. Alle Daten, um es wieder auf, wie zum Beispiel der Verbesserung der Sun JVM, wenn es eingeführt wurde, wäre ein großes Plus sein.

War es hilfreich?

Lösung

  1. Bessere Garbage Collection: bei minimaler Verdichtung, idealerweise weniger CPU-intensiv zu tun die Sammlung selbst (zu reduzieren das „mein Spiel Bildwiederholraten saugt“ Beschwerden)
  2. (Speicherfragmentierungsprobleme erlebten heute zu beseitigen)
  3. JIT, wie Sie zitieren
  4. Genug Dokumentation, wenn sie mit einem NDK gekoppelt ist, jemand ausreichend verrückt Dalvik Bytecode nativen Code für eine AOT Kompilierungsoption kompilieren könnte
  5. Machen Sie es von Android trennbaren selbst, so dass andere Projekte damit experimentieren können und Beiträge der Community könnte in größerer Menge und in einem schnelleren Clip
  6. ankommen

Ich bin sicher, dass ich andere Ideen kommen könnte, wenn Sie sie benötigen.

Andere Tipps

  1. JIT. Das Zeug darüber nicht zu helfen, ist eine Last von Mist. Sie könnten selektiver sein über das, was Code, den Sie JIT, aber 1 / 10tel die Leistung der nativen Code aufweist, ist immer was los zu beschränken

  2. Decent GC. Moderne Generationenmüllsammler haben keine großen stottert.

  3. Bessere Codeanalyse. Es gibt viele Fälle, in denen Zuweisungen / Befreiungen müssen keine Sperren gehalten gemacht, werden, und so weiter. Es ermöglicht Ihnen, sauberen Code anstatt tun Optimierungen zu schreiben, die die Maschine besser auf

    ist

In der Theorie die meisten der höheren Programmiersprachen (Java, Javascript, Python, ...) sollten für die meisten Fälle innerhalb von 20% der nativen Code Leistung. Aber es erfordert die Plattform-Anbieter 100s + Entwickler Mannjahre zu verbringen. Sun Java ist immer gut. Sie haben auch 10 Jahre lang daran gearbeitet.

Eines der Hauptprobleme bei Dalvik ist die Leistung, die schrecklich ich gehört, aber eines der Dinge, würde Ich mag die meisten ist der Zusatz von mehr Sprachen.

Die JVM hat Community-Projekte hat immer Python und Ruby auf der Plattform läuft, und sogar spezielle Sprachen wie Scala, Groovy und Schließung für sich entwickeln. Es wäre schön, diese (und / oder andere) auf der Dalvik-Plattform als auch zu sehen. Sun wurde auf der Da Vinci Maschine arbeiten als auch eine dynamische Typisierung Erweiterung der JVM, die von der weg eine große Veränderung zeigt „eine Sprache für alle“ Philosophie Sun in den letzten 15 Jahren verfolgt hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top