@proelixir

Страница 824 из 1045
Vladimir
13.12.2017
07:12:26
есть такое :-/ у эрланга может и не так часто обновляется, но и таких проблем не добавляет, либо делает это крайне редко.

Dmitry
13.12.2017
07:21:08
Типа с гемами не такая же фигня...

Но на самом деле просто никто нифига не умеет делать

Если даже Жозе в stdlib допускает косяки с релизами, диалайзерами, макросами, то что уже про других говорить

Google
Alex
13.12.2017
07:22:59
Про зависимости - самый пиздец, который я видел, это exometer

Dmitry
13.12.2017
07:23:07
На кластере либы не тестятся

В релизе - не тестятся

Best practices нету

Alex
13.12.2017
07:23:38
Ох, не надо про стдлиб, у меня от него побаливает

Dmitry
13.12.2017
07:24:09
В руби хоть можно паттерны, какой то ООП, который все знают

А тут - хз че лепить

Вот и получается гомно на гомне

Den
13.12.2017
08:11:50
А тут фпшечка )

Vladimir
13.12.2017
08:12:47
Про зависимости - самый пиздец, который я видел, это exometer
ну то такая редкость. я навскидку не вспомню, где такое же провернули в других эрланголибах)

1
13.12.2017
09:45:31
/stat@combot

Combot
13.12.2017
09:45:31
combot.org/chat/-1001061355522

Den
13.12.2017
10:07:49
Прикольно) у меня flood ratio большой и это похоже на правду)

Google
Yuri
13.12.2017
10:08:34
почему аватарку коряво отображает

Vladimir
13.12.2017
10:12:06
теперь понятно, почему диалайзер в эликсире бесполезен. всё дело в сраных макросах.

Yuri
13.12.2017
10:12:19
"dependencies": { "koa": "1.11.3", ... and some other dependencies }, "resolutions": { "koa": "1.11.3", }, после этого override: true кажется не таким уж говном

Sergey
13.12.2017
10:28:41
а кто нить знает как в ecto можно получить статистику по запросам, а именно длительность исполнения ?

у меня правда ecto старенький

:ecto, "1.0.7"

может есть какой код на гитхабе ?

Le
13.12.2017
10:33:07
может есть какой код на гитхабе ?
Посмотри тут как для прометеуса собирают https://github.com/deadtrickster/prometheus-ecto

Sergey
13.12.2017
10:39:04
код не помог понять базовые принципы .. да и видно что там екто = 2.0, а соотвественно внутренности этого экто другие

Anatoliy Kovalchuk
13.12.2017
11:29:14
можно из логера получить они шлют эту информацию в него https://github.com/elixir-ecto/ecto/blob/3ca07b97c2046a73f426297b4425dfa27141d94a/lib/ecto/log_entry.ex#L11

Sergey
13.12.2017
11:31:28
это уже интереснее

спасибо

Combot
13.12.2017
12:09:31
combot.org/chat/-1001061355522

Evgeny
13.12.2017
13:29:33
Еще вопрос. Есть некая глобальная иммутабельная структура данных в памяти. Например развесистое бинарное дерево. Можно ли в эликсире организовать параллельное чтение из этой структуры?

Alexey
13.12.2017
13:30:46
ets

Vladimir
13.12.2017
13:30:53
много воркеров с этой структурой в качестве параметра? :)

Evgeny
13.12.2017
13:31:14
ну и как засунуть бинарное дерево в ets?

Alexey
13.12.2017
13:31:41
какое такое бинарное дерево?

Evgeny
13.12.2017
13:32:03
например красно-черное

Alexey
13.12.2017
13:32:23
с какими данными то? с какой задачей справляться этим деревом то?

Google
Evgeny
13.12.2017
13:33:28
да какая разница? есть бинарное дерево поиска, нужно по индексу искать элемент. Хеш-таблица не подходит

искать нужно параллельно из тысячи процессов

Alexey
13.12.2017
13:34:10
так есть мапа. она по ключу ищет значение как раз с помощью деревьев. красно оранжевых или как там

Evgeny
13.12.2017
13:34:17
нет

мапа - суть хеш-таблица

Alexey
13.12.2017
13:34:52
ну это типа как вчера. давайте по массиву 350 тыщ раз бегать, чтоб на ерланге это было медленнее

практический смысл какой?

в 10000 процессов бегать по структуре?

Evgeny
13.12.2017
13:35:12
да

смысл очень простой

Alexey
13.12.2017
13:35:43
а нативные структуры не устраивают?

Evgeny
13.12.2017
13:36:33
к сожалению задача такова, что для индекса легко определить операцию '<', а операцию сравнения нет

Evgeny
13.12.2017
13:36:47
точнее операцию '=='

я надыбал реализацию красно-черного дерева, где можно самому функцию сравнения задать

но вот засада, оно глобальное. а значит придется сажать его в процесс и все обращение к ней будут последовательны

а хочется параллельно

Ilja
13.12.2017
13:38:17
Eugene ...а в основе поиска по хеш-таблице лежит всё то же красно-чёрное дерево. Так что мешает это дерево разбить на поддеревья, и каждое такое поддерево вверить отдельному процессу?

Evgeny
13.12.2017
13:38:53
ребята, у вас явно пробелы в знаниях структур данных.

между хеш-таблицей и бинарным деревом есть серьезная разница

Ilja
13.12.2017
13:39:10
Ну тогда расскажи нам, как работает хеш-таблица.

Google
Alexey
13.12.2017
13:39:25
ты от задачи иди, Евгений

и мы тебе скажем, как эту задачу принято решать в ерланге

а то можно в ерланге пробовать делать какую-нибудь транзакшон мемори или мутексы и говорить, что оно плохо работает или никак

Evgeny
13.12.2017
13:40:12
про хеш-таблицы и бинарные деревья, идите в вики, там весьма подробно и на русском языке все расписано

Alexey
13.12.2017
13:40:24
кому надо решить задачу то?

Evgeny
13.12.2017
13:40:27
мутексы не нужны ибо структура иммутабельная

Evgeny
13.12.2017
13:40:39
ну а как иначе?

Ilja
13.12.2017
13:40:46
Спасибо, ходили. Интересно, в чём именно у нас пробел. Конкретно.

Admin
ERROR: S client not available

Alexey
13.12.2017
13:41:14
а не пустое ли троллоло тут назревает?

Evgeny
13.12.2017
13:41:25
Спасибо, ходили. Интересно, в чём именно у нас пробел. Конкретно.
хеш-таблица - не красно-черное дерево и не дерево вообшще

Alexey
13.12.2017
13:41:46
во. пошла тема терминологии

Evgeny
13.12.2017
13:41:57
Alexey
13.12.2017
13:42:26
разбудите меня, когда речь дойдет о том, что посылы автора ООП не правильно перевели с английского на русский, а после этого поняли не верно

Evgeny
13.12.2017
13:42:28
короче ets не подходит, как и прочие хранилища с поиском по ключу

Alexey
13.12.2017
13:42:38
ну ок

у тебя есть дерево

в нем есть листья

Evgeny
13.12.2017
13:42:51
ага

Google
Alexey
13.12.2017
13:42:51
можно листья сложить в ETS

Alex
13.12.2017
13:43:02
ты же нашел реализацию так посади ее все целиком в etc с ключем "global_tree"

Alexey
13.12.2017
13:43:07
а дерево именно красно-черное подумать, как построить из доступной структуры

Vladimir
13.12.2017
13:43:11
короч, если прям нужно строго дерево, без реализации поверх готовых структур эрланга, то можно нифку сделать на сьишечке.

Alexey
13.12.2017
13:43:18
если ты ходишь по интексам, то возможно, тебе подойдет список

там можно по индексу взять значение

Aldar
13.12.2017
13:43:30
зачем красно черное дерево если оно иммутабельное?

Alexey
13.12.2017
13:43:31
но это будет тормозно. вчера уже выяснили

Evgeny
13.12.2017
13:43:40
правильно, не по индексам, а по ключам, неверно выразился

Aldar
13.12.2017
13:43:42
красно черное нужно для самобалансировки

Evgeny
13.12.2017
13:44:02
мне нужно бинарное дерево, пофиг какое, AVL или красно-черное без разницы.

я нашел реализацию

ща ссылку даже кину

Aldar
13.12.2017
13:44:22
зачем нужно бинарное дерево?

Alex
13.12.2017
13:44:28
ссылку в стюдию плиз

Alexey
13.12.2017
13:44:29
и хочешь ее притянуть в ерланг за уши?

Alex
13.12.2017
13:44:38
мне нужно бинарное дерево, пофиг какое, AVL или красно-черное без разницы.
хорошо, у тебя есть бинарное дерево внутри ordset ets

Evgeny
13.12.2017
13:44:50
потому что я не могу создать вменяемую функцию вычисления хеша

Alex
13.12.2017
13:44:51
что ты с ним делать собираешься?

Evgeny
13.12.2017
13:45:12
помещать элементы и вытаскивать их

Ilja
13.12.2017
13:45:19
Так в чём проблема распараллелить дерево? При загрузке этой структуры нужно разбить её на нужное количество поддеревьев и каждое поддерево отдать отдельному процессу. Сверху будет ещё один (или небольшая иехархия из нескольких) процесс-роутер.

Страница 824 из 1045