Skip to content
This repository has been archived by the owner on Nov 3, 2023. It is now read-only.

mbstring.php optimieren #1965

Closed
aschempp opened this issue Nov 29, 2011 · 15 comments
Closed

mbstring.php optimieren #1965

aschempp opened this issue Nov 29, 2011 · 15 comments
Assignees
Labels
Milestone

Comments

@aschempp
Copy link
Member

Wie beim #tlut10 angesprochen, sollte die system/mbstring.php optimiert werden. Diese braucht beim initialisieren des System viel Zeit und Ressourcen.

Ich habe mir den Prozess nun angesehen. TYPOlight verwendet im System überall die Funktionen utf8_..., welche in dieser Datei definiert werden. Diese Funktionen erkennen automatisch, ob die MB-String PHP-Erweiterung verwendet werden kann, oder internet Routinen gemacht werden sollen. Der internet UTF8-Zeichensatz, welcher so viele Ressourcen benötigt, wird aber immer geladen.

Ich empfehle diese Daten in eine zusätzliche externe Datei auszulagern, oder noch einfacher die utf8_ in die functions.php zu übernehmen und die mbstring.php nur dann zu includen, wenn die Daten benötigt werden.

--- Originally created on May 16th, 2010, at 10:20pm (ID 1965)

@ghost ghost assigned leofeyer Nov 29, 2011
@leofeyer
Copy link
Member

Ich gehe davon aus Du beziehst Dich auf das Array $UTF8_LOOKUP_TABLE?

--- Originally created on May 18th, 2010, at 12:56pm

@aschempp
Copy link
Member Author

Ja, das hat in meiner Performance-Messung (vor langer Zeit) mal übel abgeschnitten.

--- Originally created on May 18th, 2010, at 12:59pm

@leofeyer
Copy link
Member

Das einzige Problem, das ich dabei sehe, ist die Funktion utf8_romanize(). Da es für diese Funktion kein mbstring-Equivalent gibt, kann man das Array nicht einfach mittels if (!USE_MBSTRING) { einbinden, sondern müsste mit include_once bzw. require_once arbeiten.

--- Originally created on May 18th, 2010, at 04:16pm

@aschempp
Copy link
Member Author

Benutzen wir denn diese Funktion irgendwo? Sonst liesse sich ja ein require_once in dieser Funktion machen, und ein require_once mit !USE_MBSTRING ausserhalb.

--- Originally created on May 18th, 2010, at 04:40pm

@leofeyer
Copy link
Member

Ja, die Funktion kommt sogar sehr häufig zum Einsatz. Beim Erstellen von Aliasen oder Hochladen von Dateien zum Beispiel.

--- Originally created on May 18th, 2010, at 04:51pm

@aschempp
Copy link
Member Author

Das ist aber immer noch bedeutend besser das nur zu laden wenn ein Alias generiert wird, als bei jedem Seitenaufruf im Frontend, oder?

--- Originally created on May 18th, 2010, at 05:13pm

@leofeyer
Copy link
Member

Ja klar :) Wir müssen aber eben nur wegen dieser Funktion das Array auslagern, anstatt lediglich eine weitere if-Abfrage einzubauen.

--- Originally created on May 18th, 2010, at 05:19pm

@aschempp
Copy link
Member Author

Ich hab mal kurz gegoogelt aber keine Alternative zu deiner utf8_romanize()-Funktion gefunden. Auslagern ist klar, das ist ja der Sinn :D
Die utf8_ funktionen werden ja immer verwendet. Warum nicht die Funktionen in die functions.php und das Array in die mbstring.php ?

--- Originally created on May 18th, 2010, at 05:25pm

@leofeyer
Copy link
Member

Ich hätte am liebsten alle Bestandteile der Bibliothek in einer Datei. Das erhöht die Übersichtlichkeit und die Wiederverwendbarkeit. Aber wenn es nicht anders geht, dann geht es halt nicht anders :)

--- Originally created on May 18th, 2010, at 05:27pm

@aschempp
Copy link
Member Author

Es ist ja nicht so dass die Bibliothek noch wo anders benutzt wird, oder? Und die functions.php ist ja für TL-Funktionen gedacht. Ich sehe keine alternative als zwei getrennte Dateien, da ja die Datei immer komplett (ins Memory) geladen wird, es lässt sich nicht ein Teil ausschliessen.

--- Originally created on May 18th, 2010, at 05:29pm

@leofeyer
Copy link
Member

Man kann die Datei problemlos aus TYPOlight herauslösen und in seinem eigenen Projekt verwenden :)

--- Originally created on May 18th, 2010, at 05:32pm

@aschempp
Copy link
Member Author

Stimmt. Das kann ich aber auch mit der functions.php und mbstring. Die functions.php hat ja auch einige sehr nützliche Tools drin.

--- Originally created on May 18th, 2010, at 05:35pm

@leofeyer
Copy link
Member

Implementiert in 9b41578. Bitte ausführlich testen und Feedback geben :)

--- Originally created on May 24th, 2010, at 01:16pm

@aschempp
Copy link
Member Author

Habe leider (oder zum Glück) keinen Strato-Account ;-)
Habe mir allerdings den Code angesehen. Ich hätte die Datei sofort eingebunden, wenn USE_MBSTRING false wäre, aber deine Variante ist noch besser da es wirklich erst geladen wird wenn es gebraucht wird.

--- Originally created on May 25th, 2010, at 06:55am

@leofeyer
Copy link
Member

--- Originally completed on May 24th, 2010, at 01:16pm

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants