Tag-Archive for » Parameter «

Google gibt Go 1.9 frei

Soeben hat Google die Version 1.9 seiner Programmiersprache Go freigegeben.

Der Schwerpunkt der Neuerungen liegt wohl in der Verbesserung von Laufzeitumgebung und Tools, das Update bringt aber auch Neuerungen in der Standardbibliothek und der Sprache selbst.

Die wichtigste Neuerung sind wohl die Type Aliases, die besonders für Refactoring-Aufgaben hilfreich sein können. Dadurch wird es möglich, Aliase für Typen zu vergeben, wie beispielsweise byte als anderen Namen für uint8.

Neues bei den Tools

Deutlich mehr Änderungen gibt es bei den Tools zur Sprache. Der Go-Compiler unterstützt ab Go 1.9 das parallele Kompilieren der Funktionen eines Paketes. Dabei werden mehrere Rechenkerne gleichzeitig benutzt, was man schon bisher für die parallele Kompilierung unterschiedlicher Pakete nutzen kann. Die parallele Kompilierung ist als Voreinstellung aktiviert, kann aber manuell deaktiviert werden.

Auf vielfachen Wunsch gibt es beim Vendor Matching eine Änderung: Mit dem Befehl ./… wird es mit Tools, die Paketnamen akzeptieren, nicht mehr erlaubt sein, Pakete innerhalb von vendor-Verzeichnissen aufeinander abzustimmen. Die Funktion wird in Zukunft über den Befehl ./vendor/… verfügbar sein.

Nutzer von JSON können jetzt im ENV-Bereich das neue Flag go env -json nutzen, das einen JSON-Output ermöglicht. Dieses Flag ersetzt das betriebssystemspezifische Output-Format.

Auch das Kommando go test hat jetzt ein neues Flag namens -list. Das nutzt einen regulären Ausdruck als Parameter und gibt in stdout die Namen sämtlicher Tests, Benchmarks und Beispiele aus, ohne sie aber auszuführen.

Alle verfügbaren Informationen zu den neuen Features gibt es im entsprechenden Eintrag zur neuen Sprachversion in der Dokumentation der Programmiersprache Go.

PostgreSQL 9.6 ist soeben erschienen

postgresqlEntwickler können sich freuen: Nur wenige Monate nach der ersten Beta ist nun die finale Version der Open-Source-Datenbank PostgreSQL 9.6 erschienen. Die offensichtlichste Neuerung in dieser Version ist die Einführung von parallelen Queries:

Dabei können sequenzielle Scans bei strikten Read-only-Abfragen genauso parallelisiert ablaufen wie Aggregatfunktionen und Hash Joins. Weil diese parallele Ausführung (noch) nicht standardmäßig erfolgt, müssen Anwender sie zunächst erst einmal aktivieren.

Zur Kontrolle dient dabei der Parameter max_parallel_workers_per_gather in der Konfigurationsdatei, dessen Standardwert 0 bedeutet, dass keine Parallelisierung erfolgt.

Weil jeder Prozess eigene Ressourcen beansprucht, kann ein zu hoher Wert die Performance beeinträchtigen. So können zum Beispiel vier Arbeitsprozesse die benötigte CPU-Zeit, die Speicherauslastung und auch die benutzte  I/O-Bandbreite bis zu verfünffachen.

Auch das Backup-Tool Barman erschien als neue Version 2.o und sichert jetzt auch in Docker-Container und auf Windows.

Weitere Details finden Sie in der offiziellen Bekanntmachung der Veröffentlichung von PostgreSQL 9.6 und in den Release Notes der neuen Version. Auf der Download-Seite gibt es neben den Quellcodes auch Binaries für Windows, OS X, Solaris und zahlreiche Linux-Varianten zum Herunterladen.

Das neue Perl 5.22

Wie immer im Frühsommer ist mit Perl 5.22 eine neue Version der Skriptsprache verfügbar. Einige neue Operatoren und Regex-Funktionen bereichern Perl für den normalen Perl-Nutzer, der obendrein auch noch merkliche Optimierungen geniessen darf.

Nahezu alle Neuheiten sind zuschaltbar, entweder zusammen oder einzeln mit dem in eckigen Klammern eingefügten [Namen] und außerdem in vielen Fällen noch als experimentell markiert – dann geht es mit spitzen Klammern: <Namen>.

Die “perlpolicy” regelt jetzt zwar eindeutig, wann aus Experimenten reguläre Funktionen werden, aber wichtige Features wie <signatures>, <smartmatch> und <switch> bleiben weiterhin experimentell.

Der Doppel-Diamant-Operator (<<>>) funktioniert wie der einfache (<>), nur bemüht er beim Einlesen der Dateien aus @ARGV ein open mit drei Parametern, wodurch Angriffsmöglichkeiten ausgeschlossen werden.

Weitere Details zu Perl 5.22 finden Sie u.A. bei Heise.