Wegen eines anderen Problems (https://forum.fhem.de/index.php?topic=144802.0) ist mir das Thema Laufzeit bei umfangreicheren Datenmengen aufgefallen. Wie dort bereits angedeutet, könnte eine Filterung in 92_FileLog.pm (direkt in Perl, also ohne externes grep) etwas bringen.
Als ich das probieren wollte, sind mir noch andere Punkte aufgefallen:
- in FileLog_Get die Zeilen vorab auf Relevanz (über RegEx) prüfen (insbesondere bei createGluedFile=1 und grossen Jahresdateien, aber auch im normalen Ablauf)
- in FileLog_seekTo
- zuerst den Anfang prüfen (etwa für große Jahresdateien und Jahresauswertung)
- früher abbrechen
- seekBack vermeiden, stattdessen zuerst einmal nächste Zeile versuchen
Bei einem Test (1-Core Raspberry Zero) wurde es durch die Änderungen etwa 3x schneller. Logging per DB ist natürlich auch eine Möglichkeit, aber vielleicht ist es trotzdem von Interesse.