[personal profile] dmitry_vk

В CFFI хорошо сделанный мануал. Сейчас из него взял подсветку синтаксиса. В исходниках CFFI есть скрипт colorize-lisp-examples.lisp, которых в html-файлах, полученных из texinfo. Мануал выглядит гораздо опрятнее с раскрашенным кодом.


CFFI вообще выглядит "образцовым" проектом, в котором код достаточно качественный, документация хорошая, абстракции хорошие.

Date: 2009-07-26 05:40 am (UTC)
From: [identity profile] dmitry-vk.livejournal.com
В каких местах происходят жертвы? Вроде, везде используются оптимизации; все, что можно, они делают на этапе компиляции, все вызовы обобщенных функций могут быть убраны.
А чем их строки и структуры не устраивают?

Date: 2009-07-26 07:35 pm (UTC)
From: [identity profile] love5an.livejournal.com
Там очень много где обобщенность операций в ущерб производительности идет.
Особенно заметно становится когда значения, с которыми cffi работает, при компиляции не известны. Ну, то есть, работает через обобщенные функции.

Структуры и строки - тормозные, опять же. Строки в ucs-2 почему-то глючили на sbcl и clozure, по непонятной причине. Структуры, ну и другие пользовательские типы, емнип, на стек довольно проблематично запихнуть. У структур еще расширяемость недостаточная, определять для них expand-to-foreign, translate-to-foreign и т.п. - нельзя, а это ой как было бы полезно(например, когда в слотах указатели на память, которую хорошо бы по выходу из области видимости освободить)

Ну и еще, не такая уж страшная вещь, но хорошо бы если б было - базовые сишные типы, в defcfun и foreign-funcall не отображаются в декларации типов лиспа.

Profile

dmitry_vk

April 2023

S M T W T F S
      1
234567 8
9101112131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 7th, 2026 12:44 pm
Powered by Dreamwidth Studios