C++ vs Ocaml. ICFPC'09 и ускорение интерпретатора
От: Mamut Швеция http://dmitriid.com
Дата: 07.07.09 08:30
Оценка:
http://thedeemon.livejournal.com/1569.html

Несколько дней назад закончилось соревнование ICFP Contest 2009... Там в задании была описана несложная виртуальная машина, на которой запускались данные организаторами программы для моделирования орбитальной механики. Тут я расскажу, как, используя возможности функционального языка программирования, можно сделать интерпретатор быстрее, чем на С++.

...

[C++] реализация на моей рабочей машинке 2,33 ГГц выполняет первую программу из 266 команд 377 000 раз в секунду. Но при участии в ICPFC я все писал на OCaml'e. [OCaml] работал несколько медленнее: только 263 000 итераций в секунду. Захотелось его ускорить, и были сделаны две оптимизации.

...

Оптимизированная программа подвергается описанной выше псевдокомпиляции, и скорость возрастает до 650 000 итераций в секунду, что в 1,7 раза быстрее варианта на С++ и в 2,5 раза быстрее исходного интепретатора на Окамле.


Код — по ссылке

via http://lionet.livejournal.com/36771.html


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.