Hallo PrinceMaisle,
Level 20 solved!
Ich habe im Prinzip deinen Algorithmus verwendet, aber das Script parametriert, so dass ich ein Intervall für die äußere Schleife vorgeben kann. Damit kann ich die Aufgabe nach Belieben partitionieren.
Ich habe einen Ryzen 5 mit 6 Kernen und Hyperthreading, d.h. ich habe 12 Prozesse gestartet, mit je 6000 Wörtern. Der letzte war dann etwas unterbeschäftigt... Jeder Teilprozess lief 102s. Weniger Prozesse führen zu längerer Gesamtlaufzeit.
102 Sekunden ist für einen Webserver natürlich zu viel, da muss man dann auf 2000 Wörter heruntergehen oder noch weniger, je nach Serverperformance.
Wichtig ist: file() liefert Dir das Zeilenendezeichen mit, bevor Du die Suchschleife startest, musst Du also erstmal über die Wörtertabelle laufen und sie trimmen.
Du schaffst das!
Rolf
sumpsi - posui - obstruxi