MacRuby nutzt Multi-Core-CPUs besser aus

Das freie MacRuby-Projekt hat sich von der bisher benutzten virtuellen Maschine verabschiedet. Es setzt jetzt auf LLVM und nutzt erstmals Apples Threading-Framework Grand Central Dispatch.

vorlesen Druckansicht 42 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Christian Kirsch

Der Versionssprung und die kleine Releasenummer des gerade erschienenen MacRuby 0.5 könnten über die großen Veränderungen unter der Haube täuschen. Ein Umstieg von der bisherigen virtuellen Maschine YARV 1.9, die in Ruby-Implementierungen üblicherweise genutzt wird, bringt Entwicklern einen Native-Code-Compiler und eine vereinfachte Nutzung von Threads.

Bislang war es nicht möglich, den Script-Code einer Ruby-Anwendung in ein direkt ausführbares Programm zu übersetzen – auf dem Zielsystem war immer eine Ruby-Laufzeitumgebung erforderlich. MacRuby ermöglicht nun mit seiner auf dem freien LLVM aufsetzenden Architektur nicht nur einen Just-in-Time-, sondern auch einen Ahead-of-Time-Compiler zu nutzen. Dieser erzeugt ein auf Intel-Macs ohne Weiteres lauffähiges Programm, dessen Startzeit deutlich unter der der Script-Variante liegen soll.

Threading soll eine Schnittstelle zu Apples Grand Central Dispatch (GCD) vereinfachen. Dieses Framework gehört zum kürzlich veröffentlichten OS X 10.6 (Snow Leopard). Mit MacRuby können Entwickler Ruby-Codeblöcke an Queues übergeben. GCD kümmert sich um die Zuordnung der Codeblöcke zu Threads und die möglichst erschöpfende Nutzung der vorhandenen Cores. MacRuby läuft nur auf Intel-Macs mit OS X 10.6. Die aktuelle Version steht zum Download bereit.

(ck)