metaclass: (Default)
[personal profile] metaclass
Исходник на хаскеле, 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 или вообще бинарный), а из метаданных, которые живут в базе, сгенерить его читалку, тогда компилироваться будет быстро, и можно будет проверить на больших объемах данных.

Date: 2009-12-15 12:52 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Да вроде Хиндли-Милнер сам по себе много памяти не требует. Я бы еще понял, если бы там были мегабайты сложного кода с классами и семействами типов и пр. А тут просто табличка. Получается по 10 КБ на одну переменную...

Date: 2009-12-15 12:57 pm (UTC)
From: [identity profile] palm-mute.livejournal.com
Хиндли-Милнера можно свести с ума простым кодом:
let f1 x = (x, x)
let f2 x = f1 (f1 x)
let f3 x = f2 (f2 x)
let f4 x = f3 (f3 x)
let f5 x = f4 (f4 x)
let f6 x = f5 (f5 x)
let f7 x = f6 (f6 x)

Date: 2009-12-15 01:35 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Ууу, какая полезная шиза:)

Date: 2009-12-15 02:11 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Скормил Окамлу, он надолго задумался, но в константной памяти - 2 мега всего. Что подтверждает мои слова выше.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 24th, 2025 01:45 am
Powered by Dreamwidth Studios