
Maks
14.04.2017
11:53:00
если реально есть такая потребность вероятно стоит арендоавть ненадолго сервер

Kit
14.04.2017
11:53:53

Дмитрий
14.04.2017
11:54:26
Вероятно, можно не держать в памяти сразу все данные

Maks
14.04.2017
11:55:40
8 бит подразумевал. допустим ты сможешь корректно написать алг испольузуя на элемент куба 1 бит, получится 20гб по озу, но если сохранить вывод то все равно получится много больше

Google

Maks
14.04.2017
11:55:54
считай, в общем

Kit
14.04.2017
11:56:01

Maks
14.04.2017
11:57:26

Alexander
14.04.2017
12:00:35
@newrlan нету Int8

Yurii
14.04.2017
12:00:45
куб 2 x 1000 x 1000 x 10000 элементов (это 2* 10^10)
* на размер Boolean (пусть 1 Байт)
делим на 1024 (в МБ) и ещё на 1024 (ГБ)
= 19073 ГБ (где я ошибся?)

Kit
14.04.2017
12:01:39

Alexander
14.04.2017
12:02:09
ну есть но он тоже размер поинтера жрёт
можно в принципе Storable.Vector

Maks
14.04.2017
12:02:54

Yurii
14.04.2017
12:03:11
да

Maks
14.04.2017
12:03:14
ну, я знаю что не десятичное, но я про порядок

Yurii
14.04.2017
12:03:19
кило забыл
тогда "всего" 74 ГБ нужно, чтобы эту штуку в памяти держать

Google

Kit
14.04.2017
12:04:19

Vasiliy
14.04.2017
12:04:34
если значения 1 или 0, можно на каждое выделить один бит, 2^35 - это 34359738368, хватает
2^35 битов = 2^32 байт = 4 гигабайта

Alexander
14.04.2017
12:04:59
нет, но можно сделать простую обёртку

Kit
14.04.2017
12:05:09

Alexander
14.04.2017
12:05:34
Data.Bits + Data.Ix + вектор

Kit
14.04.2017
12:07:57

Alexander
14.04.2017
12:08:17
bitset вообще были какие-то разной степени готовности

Maks
14.04.2017
12:08:52

Kit
14.04.2017
12:09:43

Alexander
14.04.2017
12:10:00
там есть вкладка sources
;)
сначала делаешь на data BitSet и становится почти все понятно

Kit
14.04.2017
12:11:32

? animufag ?
14.04.2017
12:11:40

Kit
14.04.2017
12:13:09

Kirill
14.04.2017
12:15:12

Kit
14.04.2017
12:17:29
быстрее вычислить ячейку

Yurii
14.04.2017
12:18:02
а если совсем извратиться и какой-нибудь mysql прикрутить для хранения этого многомерного массива?

Maks
14.04.2017
12:18:57

Google

Kit
14.04.2017
12:20:38
да, там дальше надо одну размерность умножить на коэффициенты, сложить ее, а потом еще и argmin найти по основанию

Дмитрий
14.04.2017
12:26:06

Yurii
14.04.2017
12:27:06
массив 2 x 10^3 x 10^3 x 10^4
и если мы делаем
10^4 записей по чему-то, что хранит в себе 2 х 10^3 х 10^3 т.е. (2х10^6) (а это, по идее, уже проще)

Дмитрий
14.04.2017
12:27:24

Kit
14.04.2017
12:29:13
хотя, можно разреженные матрицы прикрутить... спасибо за толчок

Yurii
14.04.2017
12:32:29
redis хотя бы
http://eax.me/redis/
Redis умеет сохранять данные на диск
// прикольно

Alexander
14.04.2017
12:32:34
а тут крото спросил какая задача?

Kit
14.04.2017
12:33:02
Это AdaBoost
возможно архитектура выбрана неудобная, сегодня попробую вычислять на итерациях, может это будет дешевле

Evgeny
14.04.2017
12:39:40
Привет всем. Я попробовал переписать https://wiki.haskell.org/Examples/Random_list на Sequence:
http://lpaste.net/354498
Вроде как всё тривиально, но код после компиляции сваливается в бесконечный цикл
Думал, проблема с lazy , попробовал evaluate, но не помогло
Что там не так может быть?

Vasiliy
14.04.2017
12:50:00
проблема с ленивостью, да, точнее, с её отсутствием
sequence - оно finite и strict, бесконечных сиквенсов не бывает
в документации по unfoldr написано: WARNING: If the number of generated elements is infinite, this method will not terminate.

Evgeny
14.04.2017
12:51:39
ага, но я применяю take
Ок, в целом, понял, куда рыть, спасибо.

Vasiliy
14.04.2017
12:53:03
это не важно, он всё равно пытается создать весь sequence

Alexander
14.04.2017
15:58:18
но зачем это переписывать на sequence?!

Google

Evgeny
14.04.2017
16:31:35
Это просто кусок кода, разобравшись с которым, смогу использовать в более жизненных приложениях. Основная цель этого всего — это уход от List в сторону потенциально более шустрых типов.

Alexander
14.04.2017
18:14:49
но в данном случае это разучивание, т.к. именно в этом случае список это самая правильная структура
а последовательность делается как Seq.fromList $ take n $ mkList
и это будет эффективнее, чем если там поменять список на sequence
Evgeny просто идея в том, что благодаря list fusion список вообще строиться не будет
ну и sequence далеко не всегда эффективнее списка, т.к. структура сложнее
я понимаю ещё вектор генерить, хотя там тот же самый fromList или fromListN эффективнее всего

Evgeny
14.04.2017
20:14:18
Понял, спасибо.
Получается, что структуры из Data.… выгоднее брать только тогда, когда надо обрабатывать что-то более-менее сложное, например, Map для словарей и прочее в том же духе

Alexander
14.04.2017
20:16:28
зависит ли задачи
что стоит помнить что стоит разделять control и data structures
control определяют выполнение программы
data то что хранишь используешь
есть которые и те и другие хорошие например вектора

Evgeny
14.04.2017
20:17:46
Но в большинстве случаев, как понимаю, control чем проще, тем лучше
а data в зависимости от задачи

Alexander
14.04.2017
20:17:56
для тех где структура будет храниться в памяти и к ней запросы - хорошо бы иметь с локкльносттю хорошей
control они могут быть ленивыми и с плохой локкльностью, если они не строятся в памяти и фьюзятся - то все хорошо
ну а так нужно смотреть какие операции над структурой выполняются и выбирать
хорошие определения control и data структур и интуицию дать не могу, к сожалению

Google

Evgeny
14.04.2017
20:20:20
Это-то понятно . :) И так помог, спасибо.
А то удивляло повсеместное fromList и аналоги

Dmitry
16.04.2017
07:45:38
лайфак. лекции с степика становятся более лучшими, если смотреть на скорости 1.25

Igorek
16.04.2017
07:47:01
Некоторые можно и на 1.5 смотреть

Dmitry
16.04.2017
07:48:11
ну там уже голос какой-то несерьезный получается. подрывает.

Quet
16.04.2017
07:49:16
а ты в этих лекциях что-то новое узнал?

Dmitry
16.04.2017
07:50:11
мне надо вокабуляр вырабатывать.
а то я как собака - все понимаю, а объяснять не могу
это проблема

Quet
16.04.2017
07:51:03
это в каких темах? не во всех же

Dmitry
16.04.2017
07:51:16
ну и когда начнется всякий
MonadBaseControl
возможно узнаю
typelevel там вроде тоже долже быть

Quet
16.04.2017
07:51:36
а там и такое есть?
я думал там обычными монадами все заканчивается

Dmitry
16.04.2017
07:52:28
вот это всё полезно
3.1 Монада Except
Lesson by
Денис Москвин
0 / 12
3.2 Монада Cont
Lesson by
Денис Москвин
0 / 11
3.3 Трансформеры монад
Lesson by
Денис Москвин
0 / 15
3.4 Трансформер ReaderT
трансформеры всегда полезны, а то их все тупо копипастят обычно
что=то не вижу содержания всего курса, но вроде кто-то мне говорил, что по слухам там должен быть typelevel