Martin66119 hat geschrieben:Was ich, so hoffe ich wenigstens, hinbekomme ist die beiden LinkList nach dem Sortieren in den Memory zu legen und dabei die StringLänge beim einlesen in FeldListe1() und FeldList2() zu schreiben. Das dauert ca. 2ms für die Berechnung der Längen. Da die ganze Auswertung mit deinem Code nur 6 ms dauert, bringt das wohl eher nichts.
Das Problem ist, dass ich wahrscheinlich mittlerweile schon so weit ins Detail gegangen bin, dass du verschiedene Aussagen miteinander vermischst. Es wird nichts bringen irgendwie nachträglich die Strings in einen gemeinsamen Speicherbereich zu schreiben, sondern das müsste man schon von Anfang an machen. Also die Datei als kompletten Block in den Speicher laden, statt Zeilentrennern Nullbytes rein schreiben und den Pointer auf den Anfang der Strings bzw. Zeilen in ein Array oder eine Liste schreiben. Dieses Array dann z.B. parallelisiert sortieren und dann vergleichen.
Leider habe ich gerade einen Bug gefunden, der das Sortieren von Pointer-Listen verhindert. Da muss man dann wohl seinen eigenen Quicksort basteln.