von Gast » Do 26. Mär 2020, 17:26
Wenn du SearchIdInSpotFile.exe in Lua realisieren kannst, kannst du ausprobieren, ob die Verwendung lualatex mit eben diesem Lua-Code das ganze beschleunigt.
Die andere Möglichkeit wäre, die ganzen Aufrufe zu sammeln und dann in einem Aufwasch nur einen Aufruf durchzuführen, falls SearchIdInSpotFile.exe das zu leisten vermag. Dann muss man nur noch tool.log einmal passend zerschneiden oder ggf. nicht per \input lesen, sondern beispielsweise per \openin und dann zeilenweise. Genaueres kann ich ohne die Kenntnis der Programme und des konkreten Einsatzes nicht sagen.
Solange 400 und mehr Programmaufrufe notwendig sind, wird das immer eine gewisse Zeit kosten, auch wenn das Programm selbst dann vermutlich ziemlich schnell in Dateicache ist und nicht mehr direkt von Platte geladen wird. Programmaufrufe gehören aber auf fast allen System zu den relativ kostspieligen Dingen. Deshalb dürfte es keine so große Rolle spielen, wer das externe Programm aufruft. Beschleunigung ist am ehesten zu erwarten, wenn die Anzahl der Aufrufe reduziert werden kann. Wenn also ein einziger Prozess zuerst alle IDs suchen und das passend in eine oder mehrere Dateien ausgeben kann (man könnte die ja auch tool-ID.log nennen), dann wäre das vermutlich schneller.
Wenn du [tt]SearchIdInSpotFile.exe[/tt] in Lua realisieren kannst, kannst du ausprobieren, ob die Verwendung lualatex mit eben diesem Lua-Code das ganze beschleunigt.
Die andere Möglichkeit wäre, die ganzen Aufrufe zu sammeln und dann in einem Aufwasch nur einen Aufruf durchzuführen, falls [tt]SearchIdInSpotFile.exe[/tt] das zu leisten vermag. Dann muss man nur noch [tt]tool.log[/tt] einmal passend zerschneiden oder ggf. nicht per [tt]\input[/tt] lesen, sondern beispielsweise per [tt]\openin[/tt] und dann zeilenweise. Genaueres kann ich ohne die Kenntnis der Programme und des konkreten Einsatzes nicht sagen.
Solange 400 und mehr Programmaufrufe notwendig sind, wird das immer eine gewisse Zeit kosten, auch wenn das Programm selbst dann vermutlich ziemlich schnell in Dateicache ist und nicht mehr direkt von Platte geladen wird. Programmaufrufe gehören aber auf fast allen System zu den relativ kostspieligen Dingen. Deshalb dürfte es keine so große Rolle spielen, wer das externe Programm aufruft. Beschleunigung ist am ehesten zu erwarten, wenn die Anzahl der Aufrufe reduziert werden kann. Wenn also ein einziger Prozess zuerst alle IDs suchen und das passend in eine oder mehrere Dateien ausgeben kann (man könnte die ja auch [tt]tool-[/tt][i]ID[/i][tt].log[/tt] nennen), dann wäre das vermutlich schneller.