Image Image Image Image

Weblogit | November 8, 2024

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.

Meine Empfehlungen für dich

Die 4-Stunden-Woche - Mehr Zeit, mehr Geld, mehr Leben | Der Welt-Besteller für eine geniale Work-Life-Balance, ortsunabhängiges Arbeiten und ein fantastisches Leben.

Bestes iPhone Leder-Case - Eleganter kannst du dein iPhone nicht gegen Schmutz und Kratzer schützen. Das 2in1 Leder-Case von Solo Pelle ist abnehmbar, kommt mit Kartenfächern daher und sieht einfach nur mega aus.

Mein liebster Arbeitsstuhl - Ohne den Swopper Air hätte ich sicherlich mehr Rückenschmerzen. Er fördert trotz Sitzposition eine bewegliche Wirbelsäule und hält mich beim Arbeiten aktiv. Das ist ein riesiger Vorteil zum stink normalen Bürostuhl.

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!).


Noch kein Fan? Folge WEBLOGIT auf Facebook oder Twitter, um nichts zu verpassen! ↵


ANZEIGE


Beliebte Beiträge auf WEBLOGIT:



Weblogit