Tail-Call-Optimierung in C: Erst seit relativ kurzer Zeit möglich
Tail-call optimization in C is relatively recent
Ein Kommentar auf LWN.net beleuchtet die Geschichte der Tail-Call-Optimierung in C. Der Autor erinnert sich, dass C-Compiler 1994 diese Optimierung noch nicht beherrschten. Erst 2001 implementierte Mark Probst sie in GCC, zunächst mit Einschränkungen wie fehlender Unterstützung für indirekte Aufrufe. Heute können gcc und clang Tail-Calls optimieren, was auch für die Python-Community relevant ist. Der Autor sieht darin Potenzial für sein Projekt Gforth, das bisher auf goto-basierte Techniken setzt.
Und es funktioniert – und Xu und Kjolstad berichten, dass sie 100.000 Code-Snippets verwenden, während wir uns in Gforth auf weniger als 2.000 beschränken.