metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-12-14 02:44 pm

Пределы роста

Исходник на хаскеле, 2.8 мега, 6000 строк, экспорт из базы данных. GHC при компиляции падает с переполнением стека.

PS: Собралось:

D:\Programm\Haskell\ghc-6.10.2\bin\ghc.exe --make -o test2.exe "test2.hs" +RTS -K100000000
В процессе сожрало 1.5 гигабайта памяти :)

Екзешник получился 43 мегабайта. Отрабатывает сортировку списка и вывод проекции из него достаточно быстро.
Теперь мне пришло в голову, что можно сделать экспорт в более гуманный формат (CSV или вообще бинарный), а из метаданных, которые живут в базе, сгенерить его читалку, тогда компилироваться будет быстро, и можно будет проверить на больших объемах данных.

[identity profile] clayrat.livejournal.com 2009-12-14 02:51 pm (UTC)(link)
я ж грил надо было в commonlisp гнать =D

[identity profile] metaclass.livejournal.com 2009-12-14 02:59 pm (UTC)(link)
И потом парсить его хаскелем?

[identity profile] clayrat.livejournal.com 2009-12-14 03:12 pm (UTC)(link)
лучше, конечно, самим лиспом, но на худой конец почему бы и не хаскеллом? интерпретатор lisp->haskell не то чтобы очень сложная программа, см http://www.defmacro.org/ramblings/lisp-in-haskell.html - около 200 строчек: лямбда синтаксис и s-expressions концептуально сходны.