La optimización de tail calls (llamadas de cola) en el lenguaje C no existía desde siempre, según argumenta un comentario firmado por anton (anton@) en LWN.net. La convención de llamadas de C exigía que el llamante retirase los argumentos de la pila tras la llamada, lo que convertía estas llamadas en no-cola y bloqueaba la optimización. En 1994, los compiladores de C disponibles no aplicaban tail-call optimization para el tipo de uso descrito en el artículo principal sobre Python.
En 2001, Mark Probst implementó la optimización en GCC con una convención de llamada aparte, aunque con limitaciones como la imposibilidad de manejar llamadas indirectas, clave para el envío de instrucciones en intérpretes. El comentarista señala que GCC añadió después soporte mediante "sibcalls" y que, tras leer el artículo sobre compilación "Copy-and-Patch" de Xu y Kjolstad, comprobó que tanto gcc como clang realizan hoy la optimización de tail calls para esos patrones. La técnica Copy-and-Patch, que maneja 100.000 fragmentos de código, beneficiaría a proyectos como Gforth, que actualmente se limita a menos de 2.000 instrucciones por las restricciones del método basado en goto *. El autor felicita a la comunidad Python por llegar antes a esta optimización.
