52700.fb2 Учебник по Haskell - читать онлайн бесплатно полную версию книги . Страница 180

Учебник по Haskell - читать онлайн бесплатно полную версию книги . Страница 180

164 | Глава 10: Реализация Haskell в GHC

инициализация и завершение программы. MUT – это полезная нагрузка, время, которая наша программа тра-

тила на изменение (MUTation) значений. GC – время сборки мусора. Далее GHC сообщил нам о том, что мы

провели 60% времени в сборке мусора. Это очень плохо. Продуктивность программы очень низкая. Затратна

глубокая сборка мусора, поверхностная – это дело обычное. Теперь посмотрим на показатели строгой версии

этой программы:

module Main where

import Data.List(foldl’)

sum’ = foldl’ (+) 0

main = print $ sum’ [1 .. 1e5]

Скомпилируем:

$ ghc --make sumStrict.hs -rtsopts -fforce-recomp

Посмотрим на статистику:

$ ./sumStrict +RTS -sstderr

5.00005e9

10,474,128 bytes allocated in the heap

24,324 bytes copied during GC

27,072 bytes maximum residency (1 sample(s))

27,388 bytes maximum slop

1 MB total memory in use (0 MB lost due to fragmentation)

Tot time (elapsed)

Avg pause

Max pause

Gen

0

19 colls,

0 par

0.00s

0.00s

0.0000s

0.0000s

Gen

1

1 colls,

0 par

0.00s

0.00s

0.0001s

0.0001s

INIT

time

0.00s

(

0.00s elapsed)

MUT

time

0.01s

(

0.01s elapsed)

GC