Image Image Image Image

Apples Swift langsamer als die ältere Sprache Objective-C

Apples Swift langsamer als die ältere Sprache Objective-C

Swift lässt sich am besten mit flink, hurtig, rasch oder schleunig übersetzen. Es handelt sich bei Swift mit dem großen "S" um die neue Programmiersprache, die vier Jahre lang bei Apple in der Entwicklung war und als Alternative für Objective-C gelten wird. Swift ist also die Grundlage für die nächste Generation Apps - oder etwa nicht?

Angesichts der etwas unschönen Syntax und dem Ballast von Objective-C atmeten einige Entwickler, jung wie alt, hinsichtlich dieser Neuerung auf. Bisher war letztere Sprache der einzige Weg zu einer nativen Cocoa- bzw. Cocoa Touch-App unter iOS oder Mac OS X.

Mit Swift bringt Apple diverse neue Features und eine angenehme, moderne Syntax zur hauseigenen IDE namens XCode. Außerdem gibt es einen interaktiven Playground-Modus (in der Keynote kurz zu sehen) für Manipulationen während der Laufzeit.

Keith Gugliotto hat sich Swift mal etwas näher angeschaut und die Performance der neuen Sprache getestet. Dazu hat er beispielsweise eine simple Schleife eine Million mal ausgeführt, eine Variable per Schleife wiederholt in ihrem Wert angehoben, zwei Variablen konkateniert (verknüpft) und andere typische, kleine Operationen ausgeführt.

Die Ergebnisse sind recht überraschend: Objective-C ist als ältere Sprache dennoch geschwindigkeitsmäßig überlegen, was sich bei komplexeren Apps deutlich zeigen wird. Kleine, triviale Apps und Spiele sind hingegen vermutlich nicht ganz so sehr betroffen. Dennoch ist das ein kleiner Stein im Magen der Entwickler, wenn man solche Werte liest:

Loop a million times

Swift:  0.00061s

Objective-C:  0.000021s (29x faster)

Increment

Swift:  0.00092s

Objective-C:  0.00002s (46x faster)

Concatenate two strings

Swift: 3.15s

Objective-C:  0.27s (11.7 faster)

Wie konnte Swift denn überhaupt das Labor verlassen, wenn die Benchmark-Werte teilweise so mies sind? Im besten Fall war Swift in den Tests immer noch 6,4x langsamer als Objective-C.

Keith hat dafür eine ganz einfache Antwort: Die rohe Performance ist nicht alles. Entwickler haben ständig mit Kompromissen zu tun, alle möglichen Gruppen müssen zufriedengestellt werden. Von Team zu Team seien die Prioritäten und Möglichkeiten unterschiedlich, hier wurde also eine Lösung für die Allgemeinheit gesucht, die sich an den Hauptschmerzpunkten der Vergangenheit orientiert und diese zu mildern versucht.

Synthetische Benchmarks sind außerdem nicht immer ausschlaggebend für die Performance in der echten Welt - vielleicht betreffen die besprochenen Faktoren gar nicht Euer Projekt, oder die meisten Projekte anderer Entwickler. Sie sind nur eben den Codern bei Splasmata ins Auge gestochen.

Außerdem sei Swift eine sehr neue Sprache, die mit der Zeit sicherlich von Apple verbessert werde, so Gugliotto von Splasmata.

Tipp: Du gehst gerade nicht in der Hitze ein und hast vielleicht einen gemütlichen, kühlen Raum zum Lernen parat? Dann schau Dir doch mal diesen iOS-Programmierkurs an, der für Einsteiger gemacht und kampferprobt ist (auch für iOS 8 zu gebrauchen!).


Übrigens: Wenn Du keine Neuigkeiten, Produkt-Tests oder Artikel von uns verpassen willst, dann folge uns am besten auf Facebook oder Twitter.



Hier kannst Du Deine Meinung loswerden:



← Menü öffnen weblogit.net | Home