Login
Newsletter
Werbung

Fr, 17. März 2017, 10:33

Software::Entwicklung

GNU Guile 2.2.0 erschienen

Der freie Scheme-Interpreter GNU Guile ist in Version 2.2.0 erschienen. Die neue Version bringt deutlich gesteigerte Geschwindigkeit, verbesserte Thread-Unterstützung und zahlreiche weitere Verbesserungen.

Victor Siame

Die Programmiersprache Scheme ist eine stark von LISP beeinflusste Programmiersprache, die überwiegend, aber nicht ausschließlich funktionale Paradigmen verwendet. Eine der freien Implementationen von Scheme stammt von GNU und nennt sich Guile. Guile ist portabel, kann eigenständig oder als eingebettete Programmiersprache in Anwendungen verwendet werden und ist in C geschrieben. Für GNU-Software ist Guile die bevorzugte Erweiterungssprache. Guile implementiert viele der Scheme-Standards, darunter R5RS, R6RS und eine Anzahl von SRFIs. Zusätzlich bringt Guile ein eigenes Modulsystem, vollständigen Zugriff auf POSIX-Systemaufrufe, Netzwerk-Unterstützung, Thread-Unterstützung, dynamisches Linken, eine Schnittstelle zum Aufrufen von Funktionen in C-Bibliotheken und leistungsfähige Stringverarbeitung mit.

Nach rund sechsjähriger Entwicklung ist jetzt Guile 2.2.0 verfügbar. In der neuen Version wurden nach Angaben der Entwickler die Interna des Compilers und die virtuelle Maschine noch einmal neu geschrieben und dabei deutlich beschleunigt. Getestete Programme waren um die 30 Prozent schneller als zuvor, starteten schneller und benötigten weniger Speicher.

Die Thread-Sicherheit wurde verbessert, indem einige Schnittstellen ersetzt wurden, die zuvor schwierig korrekt in Threads nutzbar waren. Die Garbage Collection wurde verbessert, so dass der genutzte Speicher in engeren Grenzen bleibt. Die Finalisierung von Objekten wurde in einen separaten Thread verlagert, was deaktiviert werden kann, wenn es Probleme machen sollte.

Guile-Skripte übernehmen nun bereits beim Start die Lokale-Einstellungen des Systems. Dies kann durch eine Umgebungsvariable verhindert werden, wenn es nötig sein sollte. Stacks werden nun in einer minimalen Größe angelegt und wachsen nach Bedarf. Zusammen mit weiteren Thread-Optimierungen führt das dazu, dass nun Millionen von leichtgewichtigen Threads in einer Guile-Anwendung laufen können. Ein Speichermangel führt jetzt nicht mehr zum Programmabbruch, sondern erzeugt eine Exception. Das Objektsystem GOOPS wurde im Kern neu in Scheme implementiert, was die zukünftige Wartung reduziert.

Neben Scheme implementiert Guile auch Elisp, die Erweiterungssprache von Emacs. Ab jetzt ist diese Implementation vollständig Emacs-kompatibel.

Die vielen weiteren Änderungen kann man in der Ankündigung nachlesen. Guile 2.2.0 kann parallel zu Guile 2.0.x installiert werden und steht unter der GPLv3 auf der Projektseite zum Download bereit.

Werbung
Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung