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] metaclass.livejournal.com 2009-12-14 01:07 pm (UTC)(link)
Это не проект, это один файл, с списком из 6000 кортежей с 27 полями.

[identity profile] aamonster.livejournal.com 2009-12-14 01:17 pm (UTC)(link)
А... Интересно, сломаются ли на таком (что три метра кода - это один объект) более привычные компилеры.

[identity profile] dmzlj.livejournal.com 2009-12-14 01:23 pm (UTC)(link)
нет. мне на бородатом SunCC Pro года так 2000 --- 2001 случалось компилировать стабы перла, размером 90 мегабайт файл и более.

[identity profile] metaclass.livejournal.com 2009-12-14 01:24 pm (UTC)(link)
Да, меня этот вопрос тоже интересовал, но писать экспорт из проги на дельфи в код на дельфи или C# мне влом :)
wizzard: (Default)

[personal profile] wizzard 2009-12-14 08:48 pm (UTC)(link)
C# компилирует 40-50 мб исходники нормально. Но студиевскому интеллисенсу начинает становиться непредсказуемо плохо (ака хаотичные подтормозы)

[identity profile] nivanych.livejournal.com 2009-12-14 01:24 pm (UTC)(link)
Сгенерированный, что-ли?

[identity profile] metaclass.livejournal.com 2009-12-14 01:51 pm (UTC)(link)
Да, экспорт из дельфи :)

[identity profile] nivanych.livejournal.com 2009-12-14 01:55 pm (UTC)(link)
Ах, вот в чём дело.
GHC очень не любит дельфи, а дух его
обязательно просочился при экспорте.

(Там с самого начала было написано,
что это экспорт из базы, и я этого не заметил,
или ты сейчас это дописал?)

[identity profile] metaclass.livejournal.com 2009-12-14 02:10 pm (UTC)(link)
Было написано :)
А вообще да, использовать дельфи совместно с GHC это такое междурасовое скрещивание, что ощущаешь себя доктором менгеле в командировке в отряде 731.

[identity profile] nivanych.livejournal.com 2009-12-14 02:19 pm (UTC)(link)
> Было написано :)

Вот блин, одну строчку прочитать не могу, устал, что-ли...

> дельфи совместно с GHC

Если на уровне генерации кода, то не страшно.
А вот с FFI, это, думается, дааа %)

[identity profile] metaclass.livejournal.com 2009-12-14 02:29 pm (UTC)(link)
Я до FFI еще не добрался.
Сильно хотелось бы сложные типы данных передавать между дельфи и GHC, но чувствую, что проще будет в дельфи сериализовать, в хаскеле парсить. Вплоть до использования protobuf.

[identity profile] nivanych.livejournal.com 2009-12-14 02:34 pm (UTC)(link)
> проще будет в дельфи сериализовать, в хаскеле парсить

В смысле, проще, чем FFI? Уверен, что проще.