"По ссылке приведены примеры программ с соревнований на ICFPC'09 (кстати, самим по себе интересными тем, что участники соревновались в управлении космическими аппаратами) которые демонстрируют как оптимизационные возможности, свойственные функциональным языкам (в частности хвостовая рекурсия), позволяют написанной на нём программе-интерпретатору некоего языка управления двигателем космического аппарата обогнать по скорости работы аналогичную на C/C++." - так все нам представил уважаемый anonymous_incognito, не преминув добавить - "Там фишка в том, что C++-ный вариант так просто не пооптимизируешь."
Начнем:
1. там таки С, а не С++
2. смотрим первые варианты( где С выигрывало ), особенно делаем упор на "расшифровку команд и аргументов вынес отдельно" и "интепретатор на Окамле наглядней", очень весело, учитывая, что "расшифровка команд и аргументов" - отличная оптимизация, позволяющая весомо увеличить скорость работы и для С-го кода( убираются все вложенные свитчи, а также шесть строк на каждый цикл для вычисления индексов/номеров команд ), но для С почему-то такой расшифровки нет...; также радует "наглядность" кода на Ocaml, который, чтоб он был наглядным привели далеко не в полном объеме( и не понятно чем написанный в таком же стиле С-ый код хуже ) :)
3. "Тут после собственно исполнения программы идет увеличение счетчика времени и проверка на выполнение задания, в варианте на С++ их нет" - в этом виноват конечно С и нам лишний раз это подчеркнули :)
4. "Оптимизация первая" - банально решаются проблемы медленной работы switch в ocaml, в С таких проблем нет :), кстати код на ocaml все читабельнее и читабельнее
5. "Оптимизация вторая" - вообще не связана с языками программирования, но надо же сделать вариант с ocaml быстрее ;), кстати читабельность кода на ocaml ( напоминаю - весь код автор так и выложил ) стала ужасна и напоминает однострочники на perl, выкладываемые на ЛОР
Just for lulz