Kategorie - Funktionen im Backend sehr langsam
der csv spiegelt soweit ich weiss den aktuellen entwicklungsstand wieder...
muss da aber mal bei 4fb nachfragen...
ad. gettext
-> http://mel.melaxis.com/devblog/2006/04/ ... st-enough/
änderungen betreffend beschleunigung sind im csv im diesem bereich keine vorhanden...
es zahlt sich meiner meinung nach somit aus, in diesem bereich noch mehr zeit reinzustecken...
muss da aber mal bei 4fb nachfragen...
ad. gettext
-> http://mel.melaxis.com/devblog/2006/04/ ... st-enough/
änderungen betreffend beschleunigung sind im csv im diesem bereich keine vorhanden...
es zahlt sich meiner meinung nach somit aus, in diesem bereich noch mehr zeit reinzustecken...
*** make your own tools (wishlist :: thx)
-
- Beiträge: 3215
- Registriert: Do 21. Okt 2004, 11:08
- Wohnort: Augsburg
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 17 Mal
- Kontaktdaten:
Danke für die URL, allerdings geht es dort um die Anzahl der Request pro Sekunde, das kann man so nicht mit der Verwendung innerhalb von Schleifen vergleichen.ad. gettext
-> http://mel.melaxis.com/devblog/2006/04/ ... st-enough/
Dazu gibt es auch was im GNU-gettext Manual:
http://www.gnu.org/software/gettext/man ... tml#SEC152
gettext cached also die Strings, liefert die Ergebnisse ab dem 2. Aufruf aus dem Cache.
Da bei Contenido ja nich direkt gettext verwendet wird, sondern der wrapper i18n, denke ich schon, dass das Cachen was bringt. Bei einem Test, war die gecachte Version schneller. Kann sein, dass ich damit falsch liege...
Habe es mit folgendem Code getestet:
Code: Alles auswählen
$aI18n["Permission denied"] = i18n("Permission denied");
// war bei mir langsamer
$aTimer['startA'] = _microtime();
for($i=0; $i<500; $i++) {
$tmp = i18n("Permission denied");
}
$aTimer['endA'] = _microtime();
// war bei mir schneller
$aTimer['startB'] = _microtime();
for($i=0; $i<500; $i++) {
$tmp = $aI18n["Permission denied"];
}
$aTimer['endB'] = _microtime();
print '<pre> version a: ';print($aTimer['endA'] - $aTimer['startA']);print '</pre>';
print '<pre> version b: ';print($aTimer['endB'] - $aTimer['startB']);print '</pre>';
function _microtime(){
list ($usec, $sec) = explode(' ', microtime());
return ((float) $usec + (float) $sec);
}
Code: Alles auswählen
function i18n ($string, $domain = "contenido")
{
global $cfg, $i18nLanguage;
cInitializeArrayKey($cfg, "native_i18n", false);
if (!$cfg["native_i18n"])
{
return i18nEmulateGettext($string, $domain);
}
if ($i18nLanguage == "he_SS")
{
return i18nEmulateGettext($string, $domain);
}
static $bGettextLoaded, $bDgettextExists;
if (!isset($bGettextLoaded)) {
$bGettextLoaded = extension_loaded("gettext");
$bDgettextExists = function_exists("dgettext");
}
if ($bGettextLoaded)
{
if ($bDgettextExists)
{
if ($domain != "contenido")
{
$translation = dgettext($domain, $string);
return ($translation);
} else {
return gettext($string);
}
}
}
return i18nEmulateGettext($string, $domain);
}
xmurrix
edit hier stand vorher was fehlinterpretiertes ;)
klingt gut - sollte man sich mal anschauen - du hast es ja auf geschwindigkeit getestet: wie viel schneller ist das? prozentual? so dass man das dann auf anzahl der i18n hochrechnen kann
klingt gut - sollte man sich mal anschauen - du hast es ja auf geschwindigkeit getestet: wie viel schneller ist das? prozentual? so dass man das dann auf anzahl der i18n hochrechnen kann
Suchmaschinenfreundliche URLS durch Advanced ModRewrite 4.6.x
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
@xmurrix
okay stimmt, deine variante ist schneller...
hat er mich überzeugt...
den code bei der i18n hab ich mir noch mal angesehen... cache muss bei der emulation gar keiner mehr rein gebaut werden... ist schon drinnen...
bleibt in dem bereich momentan ja nur das hier
ne schönere syntax wäre besser...
okay stimmt, deine variante ist schneller...
hat er mich überzeugt...
den code bei der i18n hab ich mir noch mal angesehen... cache muss bei der emulation gar keiner mehr rein gebaut werden... ist schon drinnen...
bleibt in dem bereich momentan ja nur das hier
Code: Alles auswählen
$aStri18n['Open category'] = i18n("Open category");
*** make your own tools (wishlist :: thx)
-
- Beiträge: 3215
- Registriert: Do 21. Okt 2004, 11:08
- Wohnort: Augsburg
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 17 Mal
- Kontaktdaten:
Habe den Code vom vorherigen Posting testhalber auf mein Webspace abgelegt:
http://www.purc.de/t-benchmark.php
Das Ergebnis ist für 500 Schleifendurchläufe. Wenn man die Zeiten miteinander vergleicht, kommt eine Geschwindigkeitbesserung von 1500% raus (Das sollte man allerdings nicht so überbewerten).
Gruß
xmurrix
http://www.purc.de/t-benchmark.php
Das Ergebnis ist für 500 Schleifendurchläufe. Wenn man die Zeiten miteinander vergleicht, kommt eine Geschwindigkeitbesserung von 1500% raus (Das sollte man allerdings nicht so überbewerten).
Gruß
xmurrix
Änderung bzgl. CSS ist drin.
$aMsg["Open category"] = i18n("Open category"); (andere Bezeichnung)?
Gruß
HerrB
Meintest Du das grundsätzlich oder mehr in der Art:emergence hat geschrieben: bleibt in dem bereich momentan ja nur das hierne schönere syntax wäre besser...Code: Alles auswählen
$aStri18n['Open category'] = i18n("Open category");
$aMsg["Open category"] = i18n("Open category"); (andere Bezeichnung)?
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
ich meine das hier
$aStri18n['Open category'] = i18n("Open category");
es ist nicht ideal..
$aStri18n['Open category'] = i18n("Open category");
es ist nicht ideal..
*** make your own tools (wishlist :: thx)