История изменений
Исправление
rtvd,
(текущая версия)
:
Ну да, это я и написал то письмо в рассылку.
В отличии от Matthew Flatt я с racket знаком очень поверхностно.
Полагаю, что на каждый вызов процедуры racket делает массу работы типа проверок типов входных данных, поиска адреса процедуры и т.д. Но что именно он делает - мне неведомо.
В идеале, если бы racket бы по-настоящему типизирован (а такое ощущение, что на этапе компиляции происходит type erasure), то FFI был бы очень быстрым (т.е. где-то порядка 3-4 наносекунд на функцию из моего примера).
Про другие языки могу написать позднее, если вам действительно интересно. Но в длинную дискуссию мне ввязываться не охота. Мне работу делать надо. :-)
Исходная версия
rtvd,
:
Вообще-то это я и написал то письмо в рассылку.
В отличии от Matthew Flatt я с racket знаком очень поверхностно.
Полагаю, что на каждый вызов процедуры racket делает массу работы типа проверок типов входных данных, поиска адреса процедуры и т.д. Но что именно он делает - мне неведомо.
В идеале, если бы racket бы по-настоящему типизирован (а такое ощущение, что на этапе компиляции происходит type erasure), то FFI был бы очень быстрым (т.е. где-то порядка 3-4 наносекунд на функцию из моего примера).
Про другие языки могу написать позднее, если вам действительно интересно. Но в длинную дискуссию мне ввязываться не охота. Мне работу делать надо. :-)