contao / core

Contao 3 → see contao/contao for Contao 4
GNU Lesser General Public License v3.0
490 stars 214 forks source link

Feed.php optimieren #2993

Closed leo-unglaub closed 12 years ago

leo-unglaub commented 12 years ago

Hallo Leo, wo du gerade dabei bist die ganzen Templates aufzuräumen und den Cache zu optimieren, sollte man auf die Feed.php nicht vergessen. Da generierst du sehr viel Leerzeichen und co mit rein die eigentlich nicht benötigt werden. Viele Grüße Leo

--- Originally created on April 6th, 2011, at 05:30pm (ID 2993)

leofeyer commented 12 years ago

Leerzeichen aus einem Feed zu entfernen ist mir jetzt nicht als gängiges Mittel zur Optimierung bekannt und auch eine Google-Suche brachte diesbezüglich keinen Aufschluß. Wofür sollte das Deiner Meinung nach gut sein?

--- Originally created on April 6th, 2011, at 07:18pm

leo-unglaub commented 12 years ago

Hallo ! Ich habe mich leider etwas missverständlich ausgedrückt. Ich meine natürlich nicht den Inhalt der Feeds selbst, sondern eher die Einrückungen davor wie BSP:

$xml .= '    <atom:link href="' . specialchars($this->Environment->base . $this->strName) . '.xml" rel="self" type="application/rss+xml" />' . "\n";

Diese Leerzeichen dienen nur der besseren Lesbarkeit für Menschen, jedoch ist das den RSS Readern völlig egal. Die Leerzeichen am Anfang und auch der Line Break könnten theoretisch entfernt werden. Das macht bei großen RSS-Files durchaus was aus.

viele Grüße Leo

--- Originally created on April 6th, 2011, at 08:56pm

leofeyer commented 12 years ago

Nein, Du hast Dich vollkommen verständlich ausgedrückt. Und meine Antwort bezog sich auch genau auf die Frage:

Leerzeichen aus einem Feed zu entfernen ist mir jetzt nicht als gängiges Mittel zur Optimierung bekannt und auch eine Google-Suche brachte diesbezüglich keinen Aufschluß.

Aber wozu soll das gut sein?

--- Originally created on April 8th, 2011, at 03:36pm

leo-unglaub commented 12 years ago

Hallo ! Es ist eine reine Speed-Optimierung. Jedes Leerzeichen, jeder Tab, jeder Zeilenumbruch der nicht übertragen muss, spart Bandbreite. Es ist sicher nicht viel, aber ich habe zum Teil recht große Feeds (100 bis 300 Items) und da ist der unterschied dann durchaus messbar.

Es ist natürlich kein Issue mit höchster Priorität, aber da du auch den HTML-Output super aufgeräumt hast, dachte ich du willst das in der Feed.php auch machen.

Viele Grüße Leo

PS: lindesbs merkte gerade im irc an, dass es durchaus viele Leute gibt die Feeds gerne Human Readable haben, aber jeder halbwegs gute Texteditor kann XML wieder "richtig schön" anordnen. Notepad++ zum Beispiel, oder Eclipse, die Parsen das sogar in hüpsche GUI's rein. Daher denke ich würde das schon sinn machen.

--- Originally created on April 8th, 2011, at 03:57pm

leofeyer commented 12 years ago

Vor allem aber habe ich keinen Feed gefunden, der auf diese Weise optimiert wäre. Und wie gesagt hat auch die Google-Suche nicht ergeben, dass das eine gängige Praxis wäre.

--- Originally created on April 8th, 2011, at 04:13pm

leo-unglaub commented 12 years ago

Ich habe gerade mal in den Feeds geschaut die ich so täglich lese, dabei machen es ein paar, andere wieder nicht. Es ist wohl eine Glaubensfrage, allerdings liegt der Vorteil der gesparten Dateigröße auf der Hand. Hier ein paar Beispiele von Leuten die es extrem optimieren. Einer der Größten ist Feedburner.

Beispiele: http://feeds.feedburner.com/d0od -> einer der größten Ubuntu Blogs http://rss.feedsportal.com/c/617/f/8093/index.rss -> Winfuture.de http://www.debian.org/News/news -> nicht 100% optimiert, die verwenden 1 leerzeichen

Viele Grüße Leo

--- Originally created on April 8th, 2011, at 04:24pm

leo-unglaub commented 12 years ago

Nachtrag: vereinfacht kann gesagt werden, das alle Dienste die mit großen Mengen an Feeds umgehen diese Optimierungen vornehmen. Also Feedburner und co, die ja schätzungsweise Millionen von Feeds behandeln.

--- Originally created on April 8th, 2011, at 04:29pm

leo-unglaub commented 12 years ago

Nachtrag: Wer solche XML-Dateien wieder lesbar bekommen will (bsp während der Enteicklung, ...) kann entweder dieses Toolkit verwenden: http://sourceforge.net/projects/xmlstar/ (Ubuntu und openSuse Packete sind in den offiziellen Repos zu finden) oder online direkt hier: http://xmlindent.com/

Viele Grüße Leo

--- Originally created on April 8th, 2011, at 04:45pm

leofeyer commented 12 years ago

Implemented in aa03ea286a70bb966fab2cd5a040ccfc.

--- Originally created on May 24th, 2011, at 04:07pm

leofeyer commented 12 years ago

--- Originally completed on May 24th, 2011, at 04:07pm