@dlangru

Страница 601 из 719
Denis
13.06.2018
21:01:27
Или платные ответы, ещё лучше

Да яж шучу

Oleg
13.06.2018
21:01:42
но платные ответы это норм

Denis
13.06.2018
21:01:54
Типа "не могу молчать!" Ок, 30 рублей в кассу и говори

Google
Oleg
13.06.2018
21:02:30
кстати, а бот dlangbot это чьё?

который типа компилировать может

ну, я имею ввиду этот человек тут или нет?)

Pavel
13.06.2018
21:04:10
Не местное, иначе автор бы тут прорекламил )

Oleg
13.06.2018
21:04:42
Evil
13.06.2018
22:50:54
Мдэ

Pavel
13.06.2018
22:54:39
Это новый модный HTML синтаксис D

Все это собирается вебпаком в приложение на электроне, и синтаксический анализатор D транспилирует в JS

Oleg
13.06.2018
23:20:07


Мдэ
у тебя с браузером что-то

Evil
13.06.2018
23:26:58
у тебя с браузером что-то
Браузер в гитхаб приложении такой

Внешний ок, да

Google
Dark
14.06.2018
07:18:21
Это новый модный HTML синтаксис D
По аналогии с JSX, это DX

Valeriy
14.06.2018
08:35:25
A new version of dub package tsv-utils-dlang 1.1.20 has been released

Ebay продолжает контрибьютить. Не забрасывает

Радует это

Dark
14.06.2018
08:42:52
Радует это
То, что с D нельзя слезть?))

Valeriy
14.06.2018
08:43:24
То, что с D нельзя слезть?))
Что не забрасывают

Фейсбук, например забросил некоторые проекты на D -- печально.

Valeriy
14.06.2018
10:30:46
Сделали сервак бота на D. Течёт память









Denis
14.06.2018
10:31:37
Valeriy
14.06.2018
10:31:39
# sz SZ size in physical pages of the core image of the process. This includes text, data, and stack space. Device mappings are currently excluded; this is subject to change. See vsz and rss. # rss RSS resident set size, the non-swapped physical memory that a task has used (in kiloBytes). (alias rssize, rsz). # size SIZE approximate amount of swap space that would be required if the process were to dirty all writable pages and then be swapped out. This number is very rough! Из man ps

Denis
14.06.2018
10:31:56
может память течёт не в коде API Telegram

Valeriy
14.06.2018
10:32:00
Вот чем вообще профилировать и как узнать где течёт

Denis
14.06.2018
10:32:01
телегу юзаете?

Valeriy
14.06.2018
10:32:24
может память течёт не в коде API Telegram
Не не. Там телеги вообще нет. Этоне телеграмный бот. Это наш AI

Google
Denis
14.06.2018
10:32:42
А, уфф

Valeriy
14.06.2018
10:33:06
А, уфф
Не ну ты всё равно подмогни. Куда копать. Чем профилировать ?

Denis
14.06.2018
10:33:18
Я обычно по наитию действую

бот вообще может своё состояние сохранять и перезагружаться иногда

Valeriy
14.06.2018
10:34:20
Вот в плюсах я всегда valgrind юзал и проблем не знал. А чем в D ищут утечки?

Stanislav
14.06.2018
10:37:27
а с ди валграйнд не работает?

а ну хотя не подумал про GC

Valeriy
14.06.2018
10:39:21
бот вообще может своё состояние сохранять и перезагружаться иногда
Это костыль как крайняя мера. Хочется всё таки найти что течёт и пофиксить

Denis
14.06.2018
10:40:05
это выгоднее чем гонять GC, например

Valeriy
14.06.2018
11:05:16
GC.collect() вызываете иногда?
Неа. Можно попробовать. пологал, что GC сам знает когда ему вызываться.

Pavel
14.06.2018
11:06:09
Он знает, но 1600 мегабайт не выглядит как огромное число на котором надо чистить память

Смотря сколько у вас оперативки и свободной памяти остается

Valeriy
14.06.2018
11:09:12
Хм. А что если процессу принудительно ограничить лимит оперативы? ulimit -Sv 204800 , например?

Dmitry
14.06.2018
11:10:01
Да нифига, он должен чистить, когда в пуле нет свободной, а пулы мегов по 8 обычно.

Stepanos
14.06.2018
11:38:26
Вопрос. на D есть какае-то ORM с норм реализацие миграций?

Pavel
14.06.2018
12:21:39
Хм. А что если процессу принудительно ограничить лимит оперативы? ulimit -Sv 204800 , например?
У меня был опыт когда скачики при очистке памяти были по 2-3 гига, это был тест хайлоад приложения и там оно в пике само потребляло гигов 10

Но в то же время был другой опыт когда я действительно не отпускал класс сокета и он так и оставался навсегда висеть хотя не использовался - это можно считать userspace утечкой

Google
qwerty
14.06.2018
12:40:12
по-моему других вообще нет(

а вот еще что-то https://github.com/huntlabs/entity

Stepanos
14.06.2018
12:44:03
ни там ни там нет миграций

какой-то другой сервис поищу на другом язьіке

Denis
14.06.2018
14:11:25
или юзай монгу через vibe

Stepanos
14.06.2018
14:12:28
Vibe кака, я сейчас Hunt смотрю

Denis
14.06.2018
14:12:48
А hunt не кака почему?

Pavel
14.06.2018
14:28:54
Потому что он еще не посмотрел :D

Dmitry
14.06.2018
14:36:41
Vibe кака, я сейчас Hunt смотрю
У меня он уже несколько лет даже не собирается нормально)

Admin
ERROR: S client not available

Denis
14.06.2018
14:37:34
там какая-то странная китайская поделка без задач

спрашивал у них - они внятно не ответили в чём фишка

пилят там что-то своё, и на этом всё

Valeriy
14.06.2018
14:56:04
Я вот сейчас пробовал через ulimit ограничивать. Дорастает до лимита и перестаёт отвечать на запросы.

Попробовал collect после каждого запроса вызывать. Посмотрим что получится



Буду после выходных буду разбираться с valgrind. Как его с D увязать

я пробовал valgrind и он показывал ООЧЕНЬ много утечек
Стоит его для этого использовать? Покажет он что-нибудь?

Google
Stepanos
14.06.2018
15:16:01
А hunt не кака почему?
я когда-то Vibe разбирал, надо бьіло сделать регистрацию API на лету, там код пиздец, наркоманом написан

в Hunt только реализацию шаблонов смотрел - понять смог что там делаеться)) ето уже победа

Oleg
14.06.2018
15:16:45
Стоит его для этого использовать? Покажет он что-нибудь?
мне кажется gc не даст нормально анализировать утечки

Valeriy
14.06.2018
15:17:08
Засада :)



Oleg
14.06.2018
15:23:40
хм

Denis
14.06.2018
15:24:10
Вот реально выгоднее время от времени сервис грохать чем постоянно GC гонять

првоерено уже

Valeriy
14.06.2018
15:31:05
Вот реально выгоднее время от времени сервис грохать чем постоянно GC гонять
Мне же надо будет объяснить, зачем я в крон задачу на ребут добавляю. Скажу течёт, скажут исправляй. Это как бы промышленное решение должно было быть :)

В совсем крайнем случае ребутить буду.

Самое интересное, я когда начинал, GC на синтетических тестах гонял. Он доростал до определенного предела, потом всё собирал и опять как было. Т.е. выглядело это всё вполне пригодно.

Valeriy
14.06.2018
15:33:38
Скорее всего есть конкретное место утечки. Узнать бы как его найти.

Denis
14.06.2018
15:33:58
эмпирически - доабвляй destroy везде)

Oleg
14.06.2018
15:52:38
Скорее всего есть конкретное место утечки. Узнать бы как его найти.
у меня с ограничением норм всё работало, но я не использовал vibe

Valeriy
14.06.2018
16:10:01
у меня с ограничением норм всё работало, но я не использовал vibe
Может дело в фреймворке. Хотели на vibe переписать. Сейчас там collie. Сыроватый фреймворк

Oleg
14.06.2018
16:10:56
Может дело в фреймворке. Хотели на vibe переписать. Сейчас там collie. Сыроватый фреймворк
нужно обратить внимание на ассоциативные массивы и делегаты

если их можно устранить, то нужно начать с этого

если есть malloc-free-managment, тоже переделать на GC

если только в нём нет 100% уверенности

Pavel
14.06.2018
16:19:29
Ассоциативные массивы вроде же есть в std.containers

Если не хочется GC

Страница 601 из 719