Re[3]: Haskell, Project Euler, задача 145
От: the_void Швейцария  
Дата: 23.05.10 17:36
Оценка:
Здравствуйте, az1976, Вы писали:

А>>работает 2 минуты 13 секунд. неужели это слишком долго?


A>Как?


A>У меня ghc 6.10.4, Core2Duo 3GHz.

A>Пробовал запускать из ghci.
A>Пробовал компилировать с ключом -O и запускать exe-файл.

A>Распишите, пожалуйста, по шагам, как для чайника, как получено такое время?


У меня вот это решение:
prb cndExp = length $ filter isOk  cnds
    where
        cnds = makeDgts2 cndExp

problem = prb 8

main = print problem

Отрабатывает за 47 секунд. Сишная программа — за 32. Вот только память оно ест как не в себя, максимальное потребление около 1,5 ГБ. Список-то вычисляется лениво, но, насколько я понимаю, GC не может сразу подбирать обработанные узлы. Жаль, vacuum-cairo мне завести так и не удалось, визуализировать получающуюся структуру в уме сложно.

GHC 6.12.1, GCC 4.3.3, Linux x86-64, Phenom II X3 @2.6 ГГц
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.