Topthemen

Android bald 3x so schnell Dank "Dalvik Turbo"?

Android bald 3x so schnell Dank "Dalvik Turbo"?

Um was es bei dieser Sache geht, versuche ich mit einigen Zitaten aus folgendem Wikipedia Artikel klarzumachen:

Die Laufzeitumgebung von Android basiert auf der Dalvik Virtual Machine, einer von Google-Mitarbeiter Dan Bornstein entwickelten virtuellen Maschine.

Die Dalvik VM ähnelt funktional der normalen Java VM, beide führen sogenannten Byte-Code aus.

Anwendungen für die Androidplattform werden ausnahmslos in Java geschrieben, jedoch greifen diese in geschwindigkeitskritischen Bereichen auf zahlreiche in C oder C++ geschriebene, native Bibliotheken zu.

Das dürfte eigentlich schon klar machen, dass die Dalvik VM ein sehr wichtiger Bestandteil von Android ist, und auch für die Geschwindigkeit der ausgeführten Anwendungen zuständig ist.
 

Die Firma Myriad wird auf dem Mobile World Congress in Barcelona den sogenannten "Dalvik Turbo" vorstellen, der die Dalvik VM ersetzen soll. Anwendungen sollen dann bis zu dreimal schneller laufen. Das wäre ein ganz schöner Performance Schub für Android.

Oder um es mal salopp auszudrücken wäre das ja wohl der "Oberhammer".

In der offiziellen (englischen) Pressemitteilung gibt es weitere Infos.
 

Quelle: Myriad

Samsung: Aktuelles Galaxy-A- und Galaxy-S-Line-up im Vergleich

  Samsungs Flaggschiff 2023 Plus-Modell 2023 Basis-Modell 2023 Fan Edition 2023 Fan Edition 2021 Mittelklasse Günstige Mittelklasse Einsteigerklasse
Produkt
Bild Samsung Galaxy S23 Ultra Product Image Samsung Galaxy S23+ Product Image Samsung Galaxy S23 Product Image Samsung Galaxy S23 FE Product Image Samsung Galaxy S21 FE Product Image Samsung Galaxy A54 Product Image Samsung Galaxy A34 Product Image Samsung Galaxy A14 5G Product Image
Bewertung
Zum Test: Samsung Galaxy S23 Ultra
Zum Test: Samsung Galaxy S23+
Zum Test: Samsung Galaxy S23
Noch nicht getestet
Zum Hands-on: Samsung Galaxy S23 FE
Zum Test: Samsung Galaxy S21 FE
Zum Test: Samsung Galaxy A54
Zum Test: Samsung Galaxy A34
Zum Test: Samsung Galaxy A14 5G
Preis (UVP)
  • ab 1.399 €
  • ab 1.199 €
  • ab 949 €
  • noch nicht bekannt
  • ab 759 €
  • ab 489 €
  • ab 389 €
  • ab 199 €
Preisvergleich
 
Zu den Kommentaren (28)
Hat Dir der Artikel gefallen? Jetzt teilen!
Empfohlene Artikel
Neueste Artikel
Push-Benachrichtigungen Nächster Artikel
28 Kommentare
Neuen Kommentar schreiben:
Alle Änderungen werden gespeichert. Änderungen werden nicht gespeichert!
Neuen Kommentar schreiben:
Alle Änderungen werden gespeichert. Änderungen werden nicht gespeichert!

  • 5
    Gelöschter Account 10.02.2010 Link zum Kommentar

    TRAINSTATION


  • 4
    Dominik M. 09.02.2010 Link zum Kommentar

    Die Dalvik VM dürfte recht langsam sein, von daher ist hier wirklich was zu holen...

    Mit dem NDK kann man keine rein nativen Apps schreiben, Java wird immer benötigt, um zB GUIs zu steuern oder auf bestimmte Events zu reagieren, von daher kann sich eine schnellere VM nur positiv auswirken.

    Natürlich wird Android nicht plötzlich 3x schneller, aber ich denke schon dass Android und seine Anwendungen dadurch ein bisschen flüssiger wirken könnten, vor allem wenn mehrere Anwendungen gleichzeitig laufen.


  • 7
    Christoph D. 09.02.2010 Link zum Kommentar

    Ach.Ich als gelehrnter Fachinformaticker für Anwendungsentwicklung sage: das passt schon.
    :-)


  • André R. 11
    André R. 09.02.2010 Link zum Kommentar

    Und um den Begriff JIT mal etwas besser für Nicht-Techies zu erklären, bzw. woher das überhaupt kommt.

    Normalerweise wird Programmcode in Maschinensprache (Assembler) entwickelt. Naja, eigentlich in höheren Programmiersprachen (C++ zum Beispiel), die aber dann eben Maschinensprache ausspucken. Die Maschinensprache wird von dem Prozessor interpretiert und ausgeführt.

    Das Problem: Maschinensprache ist wie der Name schon sagt von Maschine zu Maschine unterschiedlich. Also das Programm, dass auf einer Maschine läuft, läuft nicht unbedingt auch auf der nächsten. Die Maschinen sprechen unterschiedliche Dialekte. C++ Programme zum Beispiel müssen zwar nicht für jede Maschine unbedingt neu programmiert, aber zumindest neu in Maschinencode übersetzt werden.

    Java löst dieses "Problem" dadurch, dass es ein einheitliche Sprache anbieten. Früher wurden Programme in dieser einheitlichen Sprache dann von der Java Runtime (also der Laufzeitumgebung, die auf jedem Rechner zuerst installiert werden muss) interpretiert und dann ausgeführt. Java tut quasi das, was die Maschine sonst direkt tun würde... Es tut das, was ihm das Programm sagt. Das was Java tut, ist wiederum in Maschinencode implementiert und wird von Rechner ausgeführt. Das ist einfach ausgedrückt doppelgemoppelt und logischerweise langsamer. Dies muss aber in Kauf genommen werden, da nur so das ursprüngliche Programm auf allen Maschinen unverändert laufen kann - es ist ja in der Java-Sprache, sogenanntem Bytecode, geschrieben und nicht in Maschinensprache.

    JIT, Just-In-Time, heißt, dass Java beim allerersten Start der Applikation den Bytecode in Maschinencode umwandelt und dann direkt vom Rechner ausgeführt werden kann. Der Umweg über das Interpretieren durch Java entfällt. Ein JIT-Compiler ist (einfach ausgedrückt) also eine Art Simultanübersetzer.


    Alle Techies, Entwickler und Java-Fans werden mich erschlagen. Sorry :)


  • André R. 11
    André R. 09.02.2010 Link zum Kommentar

    Huiuiui is das schon 'ne lange Diskussion :)

    Ich gehe davon aus, dass JIT demnächst in Android Standard wird. Evtl. nicht mehr für 1.5/1.6, aber auf der diesjährigen Google I/O gibt es sogar eine Session dazu:

    http://code.google.com/intl/de-DE/events/io/2010/sessions/jit-compiler-androids-dalvik-vm.html


  • Bodo P. 43
    Bodo P. 09.02.2010 Link zum Kommentar

    @Cyprian ... wenn Du denn kein Berner bist ... ?


  • 3
    Pascal Zuegs 09.02.2010 Link zum Kommentar

    Nebeneffekt von 2x schneller ist 2x weniger CPU-Zeit und somit halber CPU-Stromverbrauch für die Dalvik-VM... somit hält der Akku vielleicht so 10%-20% länger ;-)


  • Cyp 17
    Cyp 09.02.2010 Link zum Kommentar

    ja ja, die wir Schweizer ;) machen alles ein bisschen schneller ;)


  • Benjamin Rüde 16
    Benjamin Rüde 09.02.2010 Link zum Kommentar

    @ Markus seit wann arbeitest den du bei uns =P könnte echt gleich hier aus dem Büro kommen


  • Bodo P. 43
    Bodo P. 09.02.2010 Link zum Kommentar

    Markus - LOL - Deine ´üblichen firmeninternen Kommunikationsprozesse´ ;-))


  • 11
    Markus Schaumann 09.02.2010 Link zum Kommentar

    @Bodo: Du verstehst es schon sehr gut und bringst es auf den Punkt! ;-)


  • Michael Maier 34
    Michael Maier 09.02.2010 Link zum Kommentar

    ;-)


  • 11
    Markus Schaumann 09.02.2010 Link zum Kommentar

    Hier mal ein Beispiel üblicher firmeninterner Kommunikationsprozesse:

    Entwickler zum Abteilungsleiter: Wir haben eine durchschnittliche Steigerung auf plus minus 150% erreicht, wobei es in 85% der Fälle nur einen zusätzlichen Speicheraufwand von 40% gab. In 7% der Fälle lag der Performancegewinn sogar bei 200% - dies entspricht 3 mal so schnell. In 70% der Fälle erreichten wir 60%. Die restlichen 23% funktionierten nicht, oder verlangsamten sich um 20%.

    Abteilungsleiter zum Marketing: Die durchschnittliche Steigerung liegt bei soliden 150%. In vielen Fällen erreichen wir sogar eine stabile dreifache Geschwindigkeit. Es sind noch ein paar Fehler drin, aber die bügeln wir bis zum nächsten Milestone aus.

    Marketing an Presse: Unser Produkt macht alles bis zu 3 mal so schnell!


  • Bodo P. 43
    Bodo P. 09.02.2010 Link zum Kommentar

    Ich verstehe überhaupt nichts von dem, was hier geschrieben wird, weil ich nichts mit der Programmiererei am Hut habe, wage mich aber dennoch mit einer Frage hier rein:

    mich bremst doch sogar mit meinem langsamen G1- Prozessor gar nichts wirklich aus, was die Apps angeht. Ausbremsen ´tut mich doch´ das langsame UMTS und zu Hause WLAN. Da kann doch Dan Bornstein so viel an seiner virtuellen Maschine verbessern, wie er will, oder ?


  • 8
    Jonas R 09.02.2010 Link zum Kommentar

    also ich kann, nur sagen, dass ich das auch für unrealistisch halte... die vm kann etwas schneller werden, ja in manchen speziellen Funktionen sogar 3mal schneller -aber die Leistung merkt man in "echten " Apparat nur wenig , oder nur teilweise...


  • 11
    Markus Schaumann 09.02.2010 Link zum Kommentar

    @Michael: Ja, das sehe ich exakt genau so. Wenn es tatsächlich um Performance geht, werden diese Teile nativ angesprochen.

    @Dominik: Die DalvikVM ist eine (native) Anwendung in Android. Wird diese Anwendung beschleunigt, dann beschleunigen sich (fast) alle Anwendungen, die unter der DalvikVM laufen. Das ist schön, beschleunigt aber nicht das "gesamte System". Viele Hintergrundprozesse laufen nicht in der DalvikVM, sondern direkt nativ auf dem Gerät. So auch Grafikroutinen, die per nativer Bibliothek von der DalvikVM angesprochen werden.

    @Dominik: Dass Interpreter mit einem JIT teilweise schnellere Ausführungsgeschwindigkeiten erreichen, als statisch compilierter Maschinencode, stimmt. Es kommt dabei jedoch auf den Programmierstil an. Otto-Normal-Code kann der JIT meisst gut optimieren, da er an sich unoptimiert geschrieben ist. Optimierung heisst jedoch nicht Performance. JITs haben immer eine schlechtere Performanceobergrenze als compilierter, hardwarenaher Code. Für die meissten Anwendungen reicht aber seit gut einem Jahrzehnt die Geschwindigkeit aus, die mit interpretiertem Code erziehlt wird. Daher ist die ganze Performancegeschichte doch eher eine Sache, die nur wenige Entwickler interessieren dürfte, und ebenso nur wenige Anwender spüren werden.


  • 4
    Dominik M. 09.02.2010 Link zum Kommentar

    Hab grad auf engadget: "At the moment it doesn't even include a JIT compiler! (Although apparently they are *finally* working on it.) The garbage collector is also the most basic design possible (mark & sweep)."

    Also kann man aus der VM wirklich noch einiges herausholen....

    Sicher gibt es auch einiges an Code in C und C++ in Android, das sind aber hauptsächlich Bibliotheken auf die man wieder über Java-API zugreift, plus Kernel+Treiber, die Ebene darüber ist wohl das meiste in Java geschrieben, also die Applikationen die wir sehen. Man darf nicht vergessen, das NDK hat es ja auch nicht von anfang an gegeben.


  • 31
    Gelöschter Account
    • Mod
    09.02.2010 Link zum Kommentar

    Also "Anwendungen für die Androidplattform werden ausnahmslos in Java geschrieben, jedoch greifen diese in geschwindigkeitskritischen Bereichen auf zahlreiche in C oder C++ geschriebene, native Bibliotheken zu.".

    Der Satz ist schon mal ein Widerspruch in sich. Mag sein das es Apps gibt die rein in Java geschrieben sind, aber wie schon geschrieben, wenns wirklich Geschwindigkeit bracht, wird C und C++ genutzt.
    Also nehmen wir mal einfach an, geschwindigkeitsunkritische Teile wie die Oberfläche in Java, darunter wo es "rock" C++. Also würde eine Beschleunigung des Java-Teils in so einem Fall nicht soviel bringen. Ausser das sich eben die eh schon unkrituschen Teile schneller werden.


  • 4
    Dominik M. 09.02.2010 Link zum Kommentar

    Die 3fache Geschwindigkeit wird wohl in internen Labortests erreicht worden sein, mal sehen wie das in der Praxis aussieht.

    Aber wenn man Android optimieren will, dann bei der VM, von Geschwindigkeitssteigerungen hier kann ja das gesamte restliche System profitieren.

    @Markus: Dalvik Turbo soll Dalvik im Android SDK ersetzen, der Hersteller ist auch in der Open Handset Alliance, das wird also eine offizielle Lösung.

    zum Thema Compiler vs Interpreter: Es gibt auch Meinungen, dass ein Interpreter sehr wohl schneller sein kann als ein Compiler, da der Interpreter auch Optimierungen zur Laufzeit vornehmen kann. Gebe dir aber recht generell sind native Programme wesentlich schneller.


  • 11
    Markus Schaumann 09.02.2010 Link zum Kommentar

    @Fabian: In der Pressemitteilung ist die Rede von "bis zu 3 mal so schnell", worauf man auf das "bis zu" achten sollte. Sicherlich ist dies unter gewissen Umständen möglich - da will ich denen keine Lügen unterstellen - aber inwiefern sich diese punktuelle Performancesteigerung im Gesamtergebnis niederschlägt, steht aus. Denn genau das ist die eigentlich wichtige Information und genau die geben sie nicht in ihrer Pressemitteilung.

    Ich denke eine Steigerung auf (wohlgemerkt "AUF" und nicht "UM") 1,5 ist im Bereich des Machbaren. Mehr nur punktuell und damit für den Anwender nicht fühlbar.


  • Michael Maier 34
    Michael Maier 09.02.2010 Link zum Kommentar

    @Fabian:

    Das ist so ungefähr das, was ich hören wollte... ;-)

    Ich bin ma gespannt...


  • 11
    Fabian B. 09.02.2010 Link zum Kommentar

    @Michael
    inwiefern ich denke das sowas realistisch ist?

    An eine Verdreifachung der Geschwindigkeit glaube ich nicht wirklich.
    Aber selbst wenn am Ende nur eine Erhöhung der Geschwindigkeit um den Faktor 1,5-2 rauskommt wäre das noch ein enormer Performance-Schub.

    Machbar ist da sicher was. Die normale JavaVM gibts schon seit 1995, die hatte also 15 Jahre Zeit um weiterentwickelt und optimiert zu werden. Die DalvikVM arbeitet im Gegensatz zur normalen JavaVM als Registermaschine, funktioniert also grundsätzlich ein wenig anders. Und da es die DalvikVM erst seit relativ kurzer Zeit gibt ist da wahrscheinlich noch durchaus Potential für Optimierungen da,


  • Michael Maier 34
    Michael Maier 09.02.2010 Link zum Kommentar

    Habe das letzte Zitat noch mal komplett oben reingesetzt. Hatte es wohl etwas aus dem Zusammenhang gerissen.


  • 11
    Markus Schaumann 09.02.2010 Link zum Kommentar

    Naja, dass "Anwendungen für die Androidplattform ausschliesslich in Java" geschrieben werden, stimmt so nicht ganz. Unter dem Hut von Android steckt eine ganze Menge nativer Code und auch Anwendungen im Market nutzen teilweise die NDK.

    "Android applications run in the Dalvik virtual machine. The NDK allows developers to implement parts of their applications using native-code languages such as C and C++. This can provide benefits to certain classes of applications, in the form of reuse of existing code and in some cases increased speed."

    Damit lässt sich optimal und hardwarenah entwickeln. Solche Anwendungen sind aber leichter fehleranfällig und die Entwicklungskosten sind höher, als bei so genanntem Managed Code (zwecks Garbage Collection, etc.).

    Dass jetzt jemand die DalvikVM (welche eine Anwendung unter Android ist) durch eine eigene Implementierung ersetzen möchte, die bis zu 3 mal so schnell ist, spricht entweder sehr gegen die aktuelle VM, oder für mässig ausgedrückt für übertriebene Übertreibung.

    Schade, aber ich hoffe zumindest dass einige der Verbesserungen auch in den Hauptzweig, also die Dalvik VM, einfliessen werden ...

    Btw.: Die Behauptung auf deren Seite, dass mit ihrer VM hochperformante Anwendungen möglich sind, ist auch eher eine Marketingsache. Die Möglichkeit, solche Anwendungen laufen zu lassen, sagt nichts über deren Performance aus. Im Übrigen kann eine VM, egal wie gut ihr JIT, etc. ist, nicht einen auf die Hardware speziell abgestimmten Code ersetzen. Wer also _wirklich_ Performance für seine Android-App braucht, der entwickelt mit der NDK.


  • Michael Maier 34
    Michael Maier 09.02.2010 Link zum Kommentar

    @Fabian:

    Du hast "Plan" in Sachen Dalvik?

    Ich hoffe ich hab nichts (in technischer Hinsicht) grob fahrlässg falsch geschrieben ;-)

    Denkst du das ist realistsich? Doppelt so schnell wäre ja schon der Hit. Aber Myriad ist wohl von der Sache überzeugt, sonst würden sie es ja nicht so groß ankündigen.


  • derHaifisch 17
    derHaifisch 09.02.2010 Link zum Kommentar

    Ich habe grade erstmal geschaut, wann der MWC überhaupt ist. Ist gar nicht mal mehr so lange hin.
    Jetzt fragt sich natürlich jeder, ob das auch für schon vorhandene Geräte gilt, kann man die Dalvik VM "einfach" austauschen?
    Noch nichts da, und schon am hoffen und bangen. ;)

    3x schneller (bis zu) wäre wirklich... "Oberhammer"... ich greife die Wortwahl mal auf. :D


  • 11
    Fabian B. 09.02.2010 Link zum Kommentar

    naja das alles auf einmal 3 mal so schnell läuft glaube ich erst wenn ich es selber sehe.

    Sicher gibt es bei der jetzigen DalvikVM noch einiges an Optimierungspotential, stellenweise fühlt man sich als Entwickler ja schon in die Anfangszeit von Java zurückversetzt, aber eine Verdreifachung wäre schon heftig.

    Wenn das wirklich klappt fehlt ja serienmäßig nur noch Apps2SD und ich wäre wunschlos Glücklich.
    Gerade ältere Geräte wie G1 / Magic / Hero / etc. könnten davon enorm profitieren. Nur wird es schätzungsweise selbst wenn das dann in der nächsten Androidversion kommt keine Updates für diese Geräte mehr geben, den die Hersteller wollen ja lieber neue Geräte mit 1,x GHz und massig Speicher verkaufen.


  • Timo Lamb 6
    Timo Lamb 09.02.2010 Link zum Kommentar

    bitte bitte lass es nicht übertrieben sein! das wäre so geil. bin ja schon jetzt happy mit meinem helden...

Neuen Kommentar schreiben:
Alle Änderungen werden gespeichert. Änderungen werden nicht gespeichert!
VG Wort Zählerpixel