Ich arbeite gerade daran, zwei verschiedene C Algorithmen zusammenzuführen.
Die Idee der beiden ist mir jeweils bekannt und theoretisch spricht alles für eine gute Zusammenführbarkeit.
Beide Implementierungen arbeiten auf Bit-Ebene und insbesondere einer der beiden (ca. 1000 LoC) ist recht stark auf performance optimiert (Zahlreiche, verschachtelte und z.T. 30 Zeilige Defines, bzw. undefines, magic Numbers,..). Dafür ist er aber schon über 10 Jahre alt.
Ich hatte schonmal angefangen den Code zu refaktorisieren, da der Code sehr alt ist hatte ich, vmtl. da die compiler in den letzten 10, 15 Jahren deutlich besser geworden sind, keine nennenswerten Performance Verluste, soweit ich mich erinnere.
Davon abgesehen, habt ihr tipps um derartigen code zu verstehen?
Ich hatte z.B. auf Tools gehofft, die mir aus dem Programm direkt passende UML Diagramme erstellen, so als Beispiel. Natürlich geht das auch per Hand, aber man will ja neue Sachen lernen.
Es geht mir dabei vor allem darum eine ausreichend gute Übersicht über beide Programme zu erhalten um sie zusammen zu führen, wenn dabei jeder Algorithmus für sich etwas ineffizienter wird ist das ok, sie sollten gemeinsam genug Performance wieder rausholen.
Den originalen Author kann ich, (natürlich
) nicht mehr fragen, wäre ja auch langweilig..
Die Idee der beiden ist mir jeweils bekannt und theoretisch spricht alles für eine gute Zusammenführbarkeit.
Beide Implementierungen arbeiten auf Bit-Ebene und insbesondere einer der beiden (ca. 1000 LoC) ist recht stark auf performance optimiert (Zahlreiche, verschachtelte und z.T. 30 Zeilige Defines, bzw. undefines, magic Numbers,..). Dafür ist er aber schon über 10 Jahre alt.
Ich hatte schonmal angefangen den Code zu refaktorisieren, da der Code sehr alt ist hatte ich, vmtl. da die compiler in den letzten 10, 15 Jahren deutlich besser geworden sind, keine nennenswerten Performance Verluste, soweit ich mich erinnere.
Davon abgesehen, habt ihr tipps um derartigen code zu verstehen?
Ich hatte z.B. auf Tools gehofft, die mir aus dem Programm direkt passende UML Diagramme erstellen, so als Beispiel. Natürlich geht das auch per Hand, aber man will ja neue Sachen lernen.
Es geht mir dabei vor allem darum eine ausreichend gute Übersicht über beide Programme zu erhalten um sie zusammen zu führen, wenn dabei jeder Algorithmus für sich etwas ineffizienter wird ist das ok, sie sollten gemeinsam genug Performance wieder rausholen.
Den originalen Author kann ich, (natürlich
