Weiß jemand zufällig, wie sie mit dem automatischen Übersetzen sinnvoll Structs erzeugt haben? Ich stell mir das nämlich nicht ganz so trivial vor.
Benutzer wird von Ihnen ignoriert. Anzeigen
Wieso sollten sie das überhaupt tun? Sie übersetzen von Java nach C# und Java kennt keine structs, also gibt es auch keinen Bedarf dafür im Kompilat.
Benutzer wird von Ihnen ignoriert. Anzeigen
Es geht ja darum, dass Java automatisch in C# Code übersetzt wurde und dadurch ein Performancegewinn entstanden ist. Der Blog-Post von Xamarin zeigt nun in einer Grafik einen Performancevergleich von einem einfachen Binärbaum in Java und C#. Dabei wurden Generics und Structs (in C#) eingesetzt. Die Mono Performance war dabei um ein vielfaches schneller als die Dalviks.
Mir ist schon klar, dass es in Java keine Structs gibt, aber mit einer (sehr) schlauen statischen Analyse könnte man eventuell automatisch Klassen in Structs umwandeln. Dadurch würde man (wenn richtig eingesetzt) wieder deutlich Performance gewinnen.
Benutzer wird von Ihnen ignoriert. Anzeigen
Klassen, welche keine Methoden enthalten sondern nur Attribute (und ggf. primitive getter/setter), könnten bei der Umwandlung zu C# structs gewandelt werden. Ich vermute mal dass sowieso keine Rücksicht auf Vererbbarkeit gelegt wurde, sofern nicht im ICS Code explizit vorhanden.
Wenn dass der Fall wäre hätte Xamarin aber bei den Benchmarks leicht beschissen, den structs sind in C# werttypen und natürlich geeigneter für einen Graphenbenchmark.
Benutzer wird von Ihnen ignoriert. Anzeigen
Hier der Quellcode der Benchmarks:
https://github.com/zanew/MonovsDalvik/blob/master/BintreesDalvik/src/bintrees/dalvik/BintreesDalvikActivity.java
https://github.com/zanew/MonovsDalvik/blob/master/BintreesMonoDroid/BintreesMonoDroid/BintreesMonodroidActivity.cs
Unterscheiden sich alg. nicht wirklich.
--
http://www.heise.de/open/meldung/Linux-auf-dem-Desktop-Europa-fuehrt-1243708.html
http://www.heise.de/newsticker/meldung/Immer-mehr-Linux-auf-dem-Desktop-1404775.html
Benutzer wird von Ihnen ignoriert. Anzeigen
Wieso wäre das denn bitte Betrug?
Java unterstützt viele solcher Dinge nicht, die C# hat, welche die Performance verbessern. Wenn sie es geschafft haben sinnvoll manche Klassen als Structs umzuwandeln, warum sollte das dann Betrug sein? Dass die Entwicklung von Java (der Sprache jedenfalls) in den letzten 5-6 Jahren fast stehengeblieben ist, dafür können ja die Jungs von Xamarin nichts. Ansonsten wär es ja auch Betrug, wenn sie Generics verwenden, denn die Java Generics sind ja nichts anderes als statische Überprüfung + Typ-Entfernung (auf Object setzen) und Casts zur Laufzeit im Unterschied zu C#, welches ohne Casts auskommt.
Benutzer wird von Ihnen ignoriert. Anzeigen
Naja Treenode ist in der C# Variante ein Struct statt eine Klasse. Das kann bezüglich der Performance schon etwas ausmachen.
Benutzer wird von Ihnen ignoriert. Anzeigen
Instanzieren für next musst du trotzdem.
Aber wer weiß wie Google die VM optimiert hat. Es nützt keinen etwas, wenn die Akku innerhalb weniger Stunden leergesaugt wird, dafür aber die max. Geschwindigkeit rausgeholt wurden ist.
--
http://www.heise.de/open/meldung/Linux-auf-dem-Desktop-Europa-fuehrt-1243708.html
http://www.heise.de/newsticker/meldung/Immer-mehr-Linux-auf-dem-Desktop-1404775.html
Benutzer wird von Ihnen ignoriert. Anzeigen
Der Vorteil von Structs ist ja nicht das Instanziieren, sondern die schnelleren Zugriffe auf Attribute und Methoden, da nicht zuerst eine Referenz aufgelöst werden muss.
Benutzer wird von Ihnen ignoriert. Anzeigen
Microsofts Tablet überzeugt als Notebook
Die Playstation 4 ist schwarz - und verschwommen
Apple ist "einer der größten Steuervermeider" der USA
Galaxy-S4-Funktionen für das Galaxy S3
Leitender EA-Entwickler bezeichnet Wii U als "Mist"
Kommentare: 219 | letzter Beitrag 20:41 Uhr
Kommentare: 208 | letzter Beitrag 19:52 Uhr
Kommentare: 202 | letzter Beitrag 20:06 Uhr
Kommentare: 146 | letzter Beitrag 20:20 Uhr
Kommentare: 146 | letzter Beitrag 20:28 Uhr
E-Mail an news@golem.de

Das Tallinn-Manual der Nato, das im Cyberwar das Töten von Hackern erlaubt, beschäftigt jetzt auch die Bundesregierung. "Es obliegt nicht der Bundesregierung, eine breite gesellschaftliche Debatte über die Regeln zu führen", heißt es trocken.

Sandisk und Toshiba kündigen die Einführung eines neuen Herstellungsprozesses für Flash-Speicher an. Der von Sandisk als 1Ynm bezeichnete Prozess bringt mehr Speicherkapazität auf weniger Raum unter.

Jolla hat unter dem Namen "The Other Half" (Die andere Hälfte) sein erstes Smartphone mit dem Meego-Nachfolger Sailfish OS vorgestellt. Die Entwickler von Nokias einzigem Meego-Smartphone N9 bieten "Die andere Hälfte" mit 4,5-Zoll-Display ab sofort zur Vorbestellung an.

Die nächste Konsole von Microsoft heißt Xbox One. Sie wird mit einer neuen Version der Bewegungssteuerung Kinect ausgeliefert und soll die Unterhaltungszentrale im Wohnzimmer werden. Das Datenblatt verrät erste technische Details, und auch zum Erscheinungstermin hat der Hersteller sich geäußert.

Das mobile Internet der Deutschen Telekom ist bundesweit gestört. Nicht alle Anschlüsse sind betroffen. Laut Telekom ist das Software-Problem inzwischen behoben, es dauere aber einige Zeit, bis alle Verbindungen wieder laufen.

Schon länger arbeitet das Entwicklerstudio Stompy Bot an einer Neuauflage von Heavy Gear als Computerspiel. Jetzt kann die Community das Projekt unterstützen: Via Kickstarter sollen mindestens 800.000 US-Dollar zusammenkommen.