Von einem Jahr auf Wochen: Optimierung der gemeinsamen Nutzung von Programmgraphen in einem Compiler
2025-05-13
Der Autor verbrachte über ein Jahr mit der Lösung eines Problems der Serialisierung von Programmgraphen in einem Compiler. Die ursprüngliche Lösung war unübersichtlich und schwer zu warten. Durch die Zusammenarbeit mit anderen und die Umformulierung des Problems als Suche nach dem niedrigsten gemeinsamen einzelnen Vorfahren (LSCA) im Graphen nutzte er bestehende LCA-Algorithmusbibliotheken und clevere Techniken der trägen Programmierung. Das Ergebnis ist eine elegante Lösung mit linearer Zeit, ein Drittel der Größe der ursprünglichen Lösung, die Leistungseinbußen effektiv behebt.