Roman
но как ты 30гб жсона обработаешь с 3 мб оперативы?
Nikolay
Лехко
Romɑn
Чанками же. Стек нам на что? Если форма жсона известна, то ваще не проблема жи
Nikolay
Потоковый парсер
Ayrat
это тебе нужно коллег @omgszer спросить. Они там недавно выясняли, нужно им 80гб или 90 в куче для обработки текста выделять
Подожди. Это одна нода. Там кстати 96гб, мы оставляем другим процессам чутка!!1 Нод 38
Ayrat
мощно. Оператива сама себя не сожрет
Бюджет сам себя не освоит!!1
Nikolay
3420 ГБ оперативы должно хватить всем
Roman
Чанками же. Стек нам на что? Если форма жсона известна, то ваще не проблема жи
ну если формат известен, наверное да. А так — его ж надо целиком запихивать
Nikolay
ну если формат известен, наверное да. А так — его ж надо целиком запихивать
Ну тебе же обычно какие-то определённые данные, по заданным критериям нужны
Roman
Ну тебе же обычно какие-то определённые данные, по заданным критериям нужны
когда работаешь с жсоном, обычно нет. Ну пушто жсон довольно неудобный для такого типа задач же
Roman
блян, вот у нас свой самописный резалт короче. По историческим причинам. И все бы ничего, но какого-то хуя он объявлен вот так: type Result<'a, 'b> = | Ok of 'a | Error of List<'b> Как вы думаете, сколько в среднем элементов в листе в ошибке?
Roman
абсолютно в жопу правильно
Roman
зато сколкьо теперь веселых приседаний с тем, чтобы эти ошибки компоновать туда обратно
Vasily
Карочи, по тестам получил прирост перформанса в три раза
Ilya
Может быть предполагалось, что ошибки будут собираться в кучку?
Roman
Vasily
Берешь мой пр...
Vasily
Запускаешь тесты
Vasily
И смотришь
Vasily
Там сначала старая версия
Nikolay
А у тебя что там, не Benchmark.Net?
Vasily
ПОтом новая
Vasily
Да блеать
Vasily
И тут БАЙТОЕБЫ
Roman
Может быть предполагалось, что ошибки будут собираться в кучку?
ну, че там предполагалось, уже мало кого волнует. Меня беспокоит реальность, данная мне в ощущениях
Nikolay
Ооо да, мои любимые байты
Nikolay
Стопвоч измеряет физическое время, а не время ЦПУ!11!
Roman
Ооо да, мои любимые байты
у тебя там 30 миллиардов любимых байтов в жсоне лежит!
Vasily
И КАЖДЫЙ- ЛЮБИМЫЙ
Nikolay
у тебя там 30 миллиардов любимых байтов в жсоне лежит!
До конца жизни хватит байтоёбством заниматься
Vasily
ХОТЯ РАЗНЫХ - ВСЕГО 255
Nikolay
Они все индивидуальны
Roman
вообще байтоебство для лохов. Настоящие пацаны считают каждый бит
Roman
битики биточки
Nikolay
Биточки?
Nikolay
Биткоины?
Vasily
Котлеты такие
Roman
Так это скорее похоже на какой-то Validation
но нет, это универсальный резалт.
Doge
но нет, это универсальный резалт.
Но с таким эргономика жутко страдать будет
Vasily
Страдают разработчики
Vasily
А не эргономика
Doge
Страдают разработчики
Ну они из-за плохой эргономики страдают
Roman
я это, конечно, все поправлю. Просто тут пиздец сколько надо поправлять
Roman
но да, зато у нас густо намазано FSharpPlus, всякие модные операторы и прочее
Doge
но да, зато у нас густо намазано FSharpPlus, всякие модные операторы и прочее
Ну могли бы честный validation аппликатив сделать, если вот такое нужно
Doge
Т.к. для аггрегации ошибок именно он нужен, а не either
Roman
как выглядит валидейшн аппликатив? Я-то пока еще не настоящий функциональщик
Doge
как выглядит валидейшн аппликатив? Я-то пока еще не настоящий функциональщик
Точно так же как Either, только на тип ошибки налагается ограничение, что он полугруппа. И дальше для него с учётом этого условия можно реализовать аппликативный функтор. http://hackage.haskell.org/package/validation-1.1/docs/src/Data.Validation.html#Validation
Roman
ой нет. Если добавить еще немножко хаскеля в нашу скотобазу, я окончательно ебу дам
Roman
этот теоркат как острый скальпель: в умелых руках спасает жизни, но у нас че-то пока просто кишки по полу размазаны
Vasily
Такое впечатление, что про джет рассказываешь
Roman
ну, у нас чел, который большую часть кода написал, тоже жалуется на слабость системы типов фшарпа
Roman
Но он хотя б адекватный чувак — позволяет переписывать на что-то практичное
Roman
ну да, многие проблемы, которые он хочет решить более мощной системой типов, решаются без потерь и более традиционными средствами
Vasily
@Liminiens цени, что я тупой дебил
Roman
я бы назвал это синдромом художника
Doge
ой нет. Если добавить еще немножко хаскеля в нашу скотобазу, я окончательно ебу дам
Ну всякие безумные операторы можно не брать. В F# же в CE есть поддержка аппликативов.
Vasily
Воображения у меня нет
Doge
Там где нужно собирать ошибки, можно такую штуку юзать вместе с CE соотвествующим
Roman
Ну всякие безумные операторы можно не брать. В F# же в CE есть поддержка аппликативов.
я пытался с помощью CE собирать несколько ошибок, но не осилил
Roman
все время до первой
Doge
Не делать её общим для всех полугрупп (в F# всё равно без боли так не сделать), а пришить к списку ошибок.
Doge
я пытался с помощью CE собирать несколько ошибок, но не осилил
Ну вот с помощью такого validation как раз делается.
Roman
Воображения у меня нет
я пока не видел, что ты там делаешь с кодгеном, который тебе файлы по 20к строк собирает. Поэтому я пока не могу это утверждать)
Roman
Ну вот с помощью такого validation как раз делается.
а есть пример на фаршике? А то на хаскеле у меня слишком много неизведанного за раз
Roman
но наверное кодген в среднем безобидней, чем попытка наебать систему типов
Vasily
Кодген надёжнее
Vasily
Для сериализации
Vladislav
делаю листвью на 29 элементов - рисуется 28
Roman
ох ничоси, телега умеет проигрывать флак, по крайней мере на десктопе
Roman
на ведроиде тоже