
Alexander
20.09.2018
13:30:15
но я даже если у них будут хорошие свойства я не знаю почему я должен предпочесть их решению от @chshersh
у них кавайная организация, и даже если сингапур снесёт землетрясением, то наверное будут поддерживать пакеты

Denis
20.09.2018
13:31:30

Alexander
20.09.2018
13:31:37
да

Google

Denis
20.09.2018
13:34:04
я конечно видел еще
http://hackage.haskell.org/package/dependent-map-0.2.4.0/docs/Data-Dependent-Map.html
http://hackage.haskell.org/package/dependent-sum-0.4/docs/Data-Dependent-Sum.html

Alexander
20.09.2018
13:34:53
там бойлерплейта много
вроде
я где-то использовал в игрушечных вещах

Denis
20.09.2018
13:36:09
а это?
http://hackage.haskell.org/package/type-level-sets

Dmitry
20.09.2018
14:06:00

Alexander
20.09.2018
14:06:44
а разве vrom911 не в вашей огранизации и её тоже не убьет землетрясением, которое уничтожит сингапур?
а чорт, да я там сослаться что решение твое, ок
я думал, я корректнее написал, поправка принята

Dmitry
20.09.2018
14:08:05

Denis
20.09.2018
14:10:05

Dmitry
20.09.2018
14:11:58

Alexander
20.09.2018
14:12:23
прикольно что у вас есть время на опенсорс прилично

Google

Dmitry
20.09.2018
14:12:35

Alexander
20.09.2018
14:13:27
вообще для меня typerep-map скорее похожа на typemap снойманову или что там в vault, только
а. с безопасным интерфейсом
б. тип это ключ
в. быстрее на моих кейсах
у меня были похожие штуки, но я а. не выделял это в пакет, б. или не безопасные или с именами, а не по типам
а тут все за меня сделано

Dmitry
20.09.2018
14:15:37
прикольно что у вас есть время на опенсорс прилично
На работе поощряют опенсорс, и хотят, чтобы люди развивались. Полдня в неделю надо отводить изучению новым штукам или проектам. Но вообще да, пока что и просто на Haskell писать очень увлекательно, столько нового можно выучить и сделать, поэтому есть время и желание ?

Yuriy
21.09.2018
08:08:08
@qnikst, это телеграм чатик, а не твиттер, напиши то, что ты думаешь про хаскель и db

Alexander
21.09.2018
08:08:19
я ж писал

Yuriy
21.09.2018
08:08:28
[количество цензарной ругани превысило размер сообщения]

Alexander
21.09.2018
08:08:42
у нас нету ни одной приличной low level либы работающей с pg
все работает поверх libpg
ты смотришь графики rps, и видишь проседание на 20% при тупых запросах мелких
у тебя большие и ты ловишь RTS на вечном spin lock где оно проводит 80% cpu времени на threaded RTS
ибо GC
приличной либы опубликованной на hackage

Yuriy
21.09.2018
08:10:17

Alexander
21.09.2018
08:10:29
МНЕ НЕ НУЖЕН libpq
вот postgres-wire то что мне нужно
мне нужна нативная либа общающаяся с pg напрямую

Yuriy
21.09.2018
08:10:55
а разве с Посгресом можно общаться мимо libpq? я не в курсе

Alexander
21.09.2018
08:11:15
ну сокет у него есть, куда коннект идет значит можно

Google

Alexander
21.09.2018
08:11:26
в go например нативный драйвер
у Никиты libpq но бинарный протокол его
т.е. все те же проблемы остаются

Yuriy
21.09.2018
08:12:06
я всегда думал, что libpq — это самый нативный способ. то есть ниже идёт только внутренный протокол, совместимость которого никто не гарантирует

Aleksey
21.09.2018
08:12:07
Потому что в Go линковать внешее не любят

Alexander
21.09.2018
08:12:16
вон у Дениса, пришлось на RTS=-N1 переходить

Yuriy
21.09.2018
08:12:18

Alexander
21.09.2018
08:12:19
ибо тормозило

Aleksey
21.09.2018
08:12:28
Кмк, поддерживать свою версию либы для постгри, это тяжко

Alexander
21.09.2018
08:12:50
лучше иметь говно, которое убивает производительность на 20-99%?
или переписать pg-simple (что не факт, что в принципе возможно)

Yuriy
21.09.2018
08:13:42
там свой шедулер, конкурирующий с нашим RTS?

Alexander
21.09.2018
08:14:19
я думаю там выделение памяти попадающее в largeobjects или как-то на одну капабилитю
в итоге параллельная сборка мусора деградирует до того, что только 1 тред работает
а остальные на спинлоке
т.е. в бизилупе
так что работает все, а работу делает только 1
в общем по мне так нативный драйвер (написанный в основном), это лучше чем воевать с pg-simple
тем более, что в других языках (более чем одном) этим путем пошли достаточно успешно

Dmitry
21.09.2018
08:41:13

Google

A64m
21.09.2018
08:41:35
уже реализован

Alexander
21.09.2018
08:41:36
но он есть
https://github.com/postgres-haskell/postgres-wire

Dmitry
21.09.2018
08:44:15
но он есть
То есть уже можно тащить в продакшн вместо postgresql-simple смело, например?

Alexander
21.09.2018
08:44:15
но там нужно:
1. привязки к библиотекам persistent, opaleye, hasql, чтобы можно было взять и заменить и посмотреть что с твоим проектом
2. документация / туториалы (?)
3. утилиты (?) типа как в pgsimple есть много дополнительных фич
нет

Admin
ERROR: S client not available

Alexander
21.09.2018
08:44:32
т.е. нужна ещё работа поверх
как сказал @VividDesires сделать совместимый интерфейс с pg-simple тяжело, но вот заставить более высокие либы работать поверх pg-wire можно
вообще было желание сделать хакатон по всему этому, но не факт, что взлетит

Anton
21.09.2018
08:47:01
А это асинхронный с бинарным форматом
В теории можно переключить на текстовый и засинхронить, но у коллеги возникли дополнительные проблемы с этим год назад
Собственно он подавляющую часть кода написал

Alexander
21.09.2018
08:50:08
@VividDesires вообще если ты сможешь скординировать как-то effort то можно начать (у меня правда ничерта времени на opensource пока нет)

Anton
21.09.2018
08:50:40
Как минимум я сам начну

Alexander
21.09.2018
08:52:38
вон у ребят вроде есть целые полдня*человек на opensource

Dmitry
21.09.2018
09:11:37
У нас пока еще не все свои идеи кончились для своих проектов, чтобы еще БД заниматься) Мы пока на проде используем postgresql-simple и это все равно бекенд работает в целом намного быстрей чем прошлый, написанный на Node.js И так не для всего есть библиотеки, что приходится самим писать, поэтому еще и postgresql тащить нет сил... Могу разве что так сделать!
* https://github.com/morphismtech/squeal/issues/63

Kirill
21.09.2018
09:39:15

Anton
21.09.2018
09:48:40
Это будет считаться за рекламу компании, хех

Google

Anton
21.09.2018
09:49:34

Alexander
21.09.2018
10:38:08
а у меня где встречалось решение сделать 1 капабилитю было ок
а в другом и сможет выдержать нормально нагрузку раз в 10 выше текущей

dimiii
21.09.2018
14:18:46

Alexander
21.09.2018
14:23:46

dimiii
21.09.2018
14:24:38

Anton
21.09.2018
14:25:38

Artem
21.09.2018
14:25:44
Я как-то раз открыл код проекта на языке X, не понял его, и решил, что на языке X не бывает хорошего кода

Anton
21.09.2018
14:26:00
Я ковырялся в либах 2002ого и они норм были написаны

dimiii
21.09.2018
14:26:20

Denis
21.09.2018
14:32:21

Alexander
21.09.2018
14:36:39

Denis
21.09.2018
14:37:45

Alexander
21.09.2018
14:38:22
кислота пошла

dimiii
21.09.2018
14:39:22

Denis
21.09.2018
14:39:55

Alexander
21.09.2018
14:41:04