Size: a a a

2020 December 15

AP

Aleksei (astynax) Pi... in Haskell Start
У меня под гигабайт памяти откушала программа. Можно прикинуть размер мапки (или просто вывести количество элементов). Мне лень, правда
источник

QZ

Quet Zal in Haskell Start
Aleksei (astynax) Pirogov
У меня под гигабайт памяти откушала программа. Можно прикинуть размер мапки (или просто вывести количество элементов). Мне лень, правда
это про сегодняшний день?
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Да
источник

QZ

Quet Zal in Haskell Start
по памяти - раст 143мб, го - 329мб
источник

A

Aragaer in Haskell Start
ну вот я в какой-то из задачек 16 года на си просто выделил под полное пространство всех возможных состояний сколько-то там гигов. По 30 бит на описание состояния. В итоге она работала за доли секунды
источник

A

Aragaer in Haskell Start
задачка про реакторы и генераторы и лифт чтобы их возить туда-сюда
источник

QZ

Quet Zal in Haskell Start
Quet Zal
по памяти - раст 143мб, го - 329мб
143 -> 76 если числа 32 сделать
источник

TZ

Timofey Zakrevskiy in Haskell Start
поковырялся в настройках GC, сумел получить ответ за 24с
источник

TZ

Timofey Zakrevskiy in Haskell Start
общая аллокация всё равно ужасная - 30Гб
источник

TZ

Timofey Zakrevskiy in Haskell Start
31,021,226,192 bytes allocated in the heap
источник

A

Aragaer in Haskell Start
ну для иммутабельной мапы там потому что нет переиспользования ячеек
источник

TZ

Timofey Zakrevskiy in Haskell Start
но я там а) развлекался с State и линзами; б) состояние - просто тупль, а он ленивый
источник

TZ

Timofey Zakrevskiy in Haskell Start
Наверное, если взять строгую пару да развернуть replicateM_ в обычный iterate/ручную рекурсию, то с памятью будет гораздо лучше
источник

AA

A64m AL256m qn<co... in Haskell Start
Timofey Zakrevskiy
у меня тоже как-то всё не слишком радужно на иммутабельных мапах=)
странно даже читать что кто-то от иммутабельных мапов ожидает чего-то лучше
источник

AA

A64m AL256m qn<co... in Haskell Start
Timofey Zakrevskiy
31,021,226,192 bytes allocated in the heap
это не ужасная аллокация, а обычная для такого времени работы, функциональная программа обычно и аллоцирует гиги в секунду
источник

к

кана in Haskell Start
Timofey Zakrevskiy
но я там а) развлекался с State и линзами; б) состояние - просто тупль, а он ленивый
можно попробовать Control.Monad.State.Strict
и бэнгпаттерны проставить
источник

AA

A64m AL256m qn<co... in Haskell Start
Aragaer
ну для иммутабельной мапы там потому что нет переиспользования ячеек
конечно нету, и вообще ни для чего нет, вам минуты работы мало чтоль, хотите больше?
источник

TZ

Timofey Zakrevskiy in Haskell Start
A64m AL256m qn I0
странно даже читать что кто-то от иммутабельных мапов ожидает чего-то лучше
А вдруг оно там под капотом может понять, что в мапу только вставки, а каждое "поколение" мапы используется ровно один раз? И, соответственно, можно перезаписывать уже существующий кусок памяти, а  не аллоцировать новый (это, правда, зависит от представления мапы в памяти).
источник

TZ

Timofey Zakrevskiy in Haskell Start
кана
можно попробовать Control.Monad.State.Strict
и бэнгпаттерны проставить
у меня Strict, да
источник

TZ

Timofey Zakrevskiy in Haskell Start
A64m AL256m qn I0
это не ужасная аллокация, а обычная для такого времени работы, функциональная программа обычно и аллоцирует гиги в секунду
ок, буду знать
источник