Seite 46 von 46

Re: [3.3] Recent Topics NG

Verfasst: 18.08.2025 19:21
von LukeWCS
Hi Thorsten
IMC hat geschrieben: 16.08.2025 18:14 2. Die Datenbankabfrage der Beiträge soweit geändert, dass nur die für die Seitenanzeige benötigten Beiträge geladen werden.
Guter Punkt. Wozu Beiträge per SQL in den Speicher holen, die gerade nicht gebraucht werden. Eventuell verbessert dass das Problem bei truser? Kanns nicht bewerten, ich hab nirgends ein derartig grosses Forum zum testen.
In meinen Testforum konnte ich durch dies Änderung aber keine schnellere Ladezeit des Forums feststellen.
Ja das ist das Problem wenn man nicht direkt mit ähnlichem Umfang testen kann. Ich kenne das Problem von WWH, da hatte ich vor vielen Jahren auch eine grössere Aktion um die Leistung zu verbessern und Laufzeiten zu optimieren, da war ich direkt auf den Melder angewiesen, der dann die Updates getestet und Rückmeldungen geben musste.
An einigen Stellen könnte man Schleifen durch array_map() ersetzen. Dies würde den Code vielleicht ewas übersichtlicher machen aber auch verlangsamen. Deshalb habe ich davon abgesehen.
Hmm wir haben bei RTNG eigentlich keine Stellen bei denen die Art der Schleifenbildung relevant für die Laufzeit wäre, oder? Wir haben bei RTNG eher Optimierungspotential seitens SQL?

Aber so Vergleiche kannst du am besten mit microtime() oder hrtime() testen, wenn die Auflösung des ersteren nicht reichen sollte. Das verwende ich auch gezielt um Laufzeiten zu optimieren. Zum Beispiel bei einer Anfrage auf .com war das ein Teil meiner Antwort:

Re: use php to add extra css class to existing class

Wegen dev, da sind veraltete Daten:

https://github.com/IMC-GER/RecentTopics ... poser.json

Version und Datum sind noch älter als 1.0.0 Release und können deshalb im dev Branch nicht stimmen.

Re: [3.3] Recent Topics NG

Verfasst: 18.08.2025 21:18
von IMC
LukeWCS hat geschrieben: 18.08.2025 19:21 Aber so Vergleiche kannst du am besten mit microtime() oder hrtime() testen, wenn die Auflösung des ersteren nicht reichen sollte.
Damit werde ich dann demnächst experimentieren. Bei den Schleifen hatte ich die kleinen im Fokus, die Arrays umstrukturieren.
Ein Schleife habe ich eben gemessen. array_map() benötigt ca. die dreifache Zeit. Es bewegt sich in Bereichen vom E^-5 Sekunden.
Der RTNG Core ist mit meiner derzeitigen Änderungen knapp eine hundertstel Sekunde schneller.
LukeWCS hat geschrieben: 18.08.2025 19:21 Wegen dev, da sind veraltete Daten:
Werde ich demnächst synchonisieren.

Re: [3.3] Recent Topics NG

Verfasst: 19.08.2025 20:34
von IMC
Hi Patrick,
ich habe noch drei Schleifen optimiert, eine davon eliminiert.

Die Geschwindigkeitsmessung ist nicht immer sehr aussagekräftig, da sie starken Schwankungen unterliegt. Besonders bei sehr kleinen Zeitabschnitten.
Insbesondere der folgende Code. Mal war er genauso schnell wie die Schleife mal langsamer. Ich habe mich für ihn entschieden, weil der Code aussagekräftiger ist.

Code: Alles auswählen

$topic_list = array_slice(array_keys($unread_topics), $rtng_start, $this->topics_per_page);
Der Rückstand des dev Zweig zum Master ist jetzt beseitigt.

Re: [3.3] Recent Topics NG

Verfasst: 20.08.2025 22:42
von IMC
@truser
I optimised the core file from Recent Topics NG. I can't say for sure whether RTNG runs faster with these new files in large forums. If you want, you can test it.

Download the new file.
Go into the the ACP and disable Recent Topics NG.
Rename the file /ext/imcger/recenttopicng/core/rtng_functions.php as a backup
Copy the new rtng_functions.php to /ext/imcger/recenttopicng/core/
Go into the the ACP and enable Recent Topics NG.

I hope that RTNG runs faster on your forum. Could you please give me some feedback?