"По ссылке приведены примеры программ с соревнований на ICFPC'09 (кстати, самим по себе интересными тем, что участники соревновались в управлении космическими аппаратами) которые демонстрируют как оптимизационные возможности, свойственные функциональным языкам (в частности хвостовая рекурсия), позволяют написанной на нём программе-интерпретатору некоего языка управления двигателем космического аппарата обогнать по скорости работы аналогичную на C/C++." - так все нам представил уважаемый anonymous_incognito, не преминув добавить - "Там фишка в том, что C++-ный вариант так просто не пооптимизируешь."
Начнем:
1. там таки С, а не С++
2. смотрим первые варианты( где С выигрывало ), особенно делаем упор на "расшифровку команд и аргументов вынес отдельно" и "интепретатор на Окамле наглядней", очень весело, учитывая, что "расшифровка команд и аргументов" - отличная оптимизация, позволяющая весомо увеличить скорость работы и для С-го кода( убираются все вложенные свитчи, а также шесть строк на каждый цикл для вычисления индексов/номеров команд ), но для С почему-то такой расшифровки нет...; также радует "наглядность" кода на Ocaml, который, чтоб он был наглядным привели далеко не в полном объеме( и не понятно чем написанный в таком же стиле С-ый код хуже ) :)
3. "Тут после собственно исполнения программы идет увеличение счетчика времени и проверка на выполнение задания, в варианте на С++ их нет" - в этом виноват конечно С и нам лишний раз это подчеркнули :)
4. "Оптимизация первая" - банально решаются проблемы медленной работы switch в ocaml, в С таких проблем нет :), кстати код на ocaml все читабельнее и читабельнее
5. "Оптимизация вторая" - вообще не связана с языками программирования, но надо же сделать вариант с ocaml быстрее ;), кстати читабельность кода на ocaml ( напоминаю - весь код автор так и выложил ) стала ужасна и напоминает однострочники на perl, выкладываемые на ЛОР
Just for lulz
Ответ на:
комментарий
от val-amart
Ответ на:
комментарий
от Miguel
Ответ на:
комментарий
от lester
Ответ на:
комментарий
от guest-3484-2009
Ответ на:
комментарий
от ixrws
Ответ на:
комментарий
от Waterlaz
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Новости Как оптимизировали программу на Ocaml (2009)
- Форум [ocaml] ocaml <--> c (2008)
- Форум Ocaml (2008)
- Форум OCaml (2006)
- Форум OCaml 5.0.0 (2022)
- Форум Популярность OCaml (2010)
- Форум Ocaml: ошибка (2008)
- Форум OCaml & Ruby (2005)
- Форум ocaml + ide (2006)
- Форум ocaml, туплю (2005)