Skip to content

php-iban und Laden der Daten ("Registry") bei Bedarf

Da wir die Bibliothek php-iban gerne nutzen, haben ich gerade einen Pull-Request erstellt:

https://github.com/globalcitizen/php-iban/pull/92/

Das Laden der Daten ("Registry") erfolgt in den bisherigen Versionen immer, auch wenn keine php-iban-Funktion genutzt wird. Gerade in Verbindung mit Composer unnötig.

Mit dem Patch werden die Daten erstmal geladen, wenn sie gebraucht werden. Mit ganzen 3 Zeilen Code.

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Rene

ich finde ja den Kommentar schön, dass man doch bitte mit Timings belegen soll, dass das sinnvoll ist. Eine Einstellung pro ressourcensparenden Programmieren sieht auf jeden Fall anders aus...

Sven

Der Kommentar ist sinnvoll. Man optimiert nur, was man messen kann.

Die Bibliothek an sich erscheint mir aber fragwürdig. Das erzwungene Immerladen via Composer ist vor allem dem Funktionsinterface zuzurechnen, objektorientiert wäre vieles einfacher.

Der Scope mit PHP 5.2 bis 7.0 ist outdated. Tests finden ohne PHPUnit statt... angesichts des Versionsbereichs aber vermutlich kein Wunder.

Die stärkste Performanceverbesserung würde man vermutlich bekommen, wenn man die registry.txt in ein PHP-Array wandeln und als PHP-Sourcecode ablegen würde, anstatt die Datei zu parsen. Der Code liegt dann nämlich im Opcache.

Manni

Hey Manuel, verrat uns doch mal, wie kommt ein CEO eines global agierenden Unternehmens auf sowas?
Du schraubst selbst an PHP-Bibliotheken rum und veröffentlichst einen Patch, der ein nicht existentes Performance-Problem löst?
Auf welcher Hardware laufen denn eure Systeme, dass das überhaupt relevant sein kann?

Stefan G.

"Auf welcher Hardware laufen denn eure Systeme"

Auf vorhandener und bezahlter?

Als jemand, der für Traffic bezahlt, würde ich da übrigens durchaus einen Performance-Gewinn sehen...

Manni

Hä? Es geht um eine Datei über 30 Kilobyte, die lokal abliegt: https://github.com/globalcitizen/php-iban/blob/master/registry.txt

Von welchen Traffickosten redest du?
Und du bist stolz (???), dass die scheinbar ältere Hardware für eine Kiste, die PHP-Anwendungen betreibt, bezahlt und nicht geleast ist?

Stefan G.

"eine Datei [...] die lokal abliegt: https://..."

Finde den Widerspruch...

"bezahlt und nicht geleast"

Ich sehe Manuel nicht als Jemanden, der essentielle Betriebsmittel least...

Und selbst wenn, sollte man "sparen", wo es geht. Denn ob es Sinn gemacht hätte, weiss man immer erst, wenn es zu spät ist...

Jens

Nach der Sinnhaftigkeit einer berechtigten Performance Optimierung kann nur jemand fragen, der nicht gut / garnicht entwickeln kann. Natürlich wird dadurch in den meisten Fällen nichts merkbar schneller, aber die Summe an eben solchen Optimierungen machen den Unterschied. Darüber hinaus war der Patch ja auch wirklich schmerzlos zu erstellen ( das Erstellen eines Pullrequests hat vermutlich länger gedauert ) - hätte ich auch gemacht, wäre ich drauf gestoßen. Das man damit nicht immer auf Gegenliebe stößt liegt an der Kritikunfähigkeit mancher Entwickler - fühlen sich sofort persönlich angegriffen ... sie sind ja schließlich perfekt!

Zu Mannis Neidtirade: Es soll tatsächlich Menschen geben, die leidenschaftlich in dem sind, was sie tun. Da ist es ziemlich egal, was für ein Titel auf dem Schild des Büros steht. Bonus: Als Inhaber des Unternehmens kann man sich den Titel sogar selbst aussuchen - heißt einem selbst gegenüber ist „er“ völlig egal - wurde einem schliesslich nicht verliehen und dient nur für die Kommunikation nach außen.

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

BBCode-Formatierung erlaubt
Formular-Optionen