Start · Sprachen · PHP · Referenz · lzf_optimized_for

lzf_optimized_for

Funktion

Ermittelt, wofür die LZF-Erweiterung optimiert wurde (Geschwindigkeit oder Kompressionsrate).

Kategorie: io

Signatur

lzf_optimized_for(): int

Beschreibung

lzf_optimized_for() gibt einen ganzzahligen Wert zurück, der angibt, auf welchen Aspekt hin die installierte LZF-Erweiterung beim Kompilieren optimiert wurde – entweder auf Geschwindigkeit oder auf Kompressionsrate.

Diese Information ist nützlich, wenn eine Anwendung entscheiden muss, ob sie die LZF-Komprimierung für geschwindigkeitskritische oder platzsparende Operationen einsetzen will. Der zurückgegebene Wert kann mit den Konstanten LZF_SPEED_OPTIMIZE (Wert 0) und LZF_COMPRESS_OPTIMIZE (Wert 1) verglichen werden.

In der Praxis wird diese Funktion selten direkt benötigt; sie dient eher zur Laufzeit-Diagnose oder zum Logging von Konfigurationsdetails der LZF-Erweiterung.

Rückgabewert

Typ
int
Beschreibung
Gibt 0 zurück, wenn die Erweiterung auf Geschwindigkeit optimiert wurde (LZF_SPEED_OPTIMIZE), oder 1, wenn sie auf Kompressionsrate optimiert wurde (LZF_COMPRESS_OPTIMIZE).

Beispiele

Optimierungstyp der LZF-Erweiterung ausgeben

<?php
$optimizedFor = lzf_optimized_for();

if ($optimizedFor === LZF_SPEED_OPTIMIZE) {
    echo "LZF ist auf Geschwindigkeit optimiert.";
} elseif ($optimizedFor === LZF_COMPRESS_OPTIMIZE) {
    echo "LZF ist auf Kompressionsrate optimiert.";
} else {
    echo "Unbekannter Optimierungstyp: " . $optimizedFor;
}
LZF ist auf Geschwindigkeit optimiert.

Optimierungstyp in Diagnose-Ausgabe einbinden

<?php
$info = [
    'lzf_version'       => phpversion('lzf'),
    'optimized_for'     => lzf_optimized_for() === LZF_SPEED_OPTIMIZE
                            ? 'Geschwindigkeit'
                            : 'Kompressionsrate',
];

foreach ($info as $key => $value) {
    echo $key . ': ' . $value . PHP_EOL;
}
lzf_version: 1.7.0 optimized_for: Geschwindigkeit

// Wichtig · Fallstricke

Die Funktion ist nur verfügbar, wenn die PECL-Erweiterung lzf installiert ist. Sie hat keine Parameter und wirft keine Ausnahmen. Der tatsächliche Optimierungstyp hängt davon ab, wie die Erweiterung kompiliert wurde (z. B. mit --enable-lzf-better-compression).