@dlangru

Страница 363 из 719
Evgeny
06.01.2018
06:29:45
GC - это мягко говоря не самое главное в D. Особенно если учесть, что он иммитируется ARC.

Dmitry
06.01.2018
07:12:24
Плюсовики и так обычно говорят, что у них все есть, что D им может предложить. Потому крайне редко переходят.

Evgeny
06.01.2018
07:13:55
Большинство плюсовиков отпугивает GC

Google
Evgeny
06.01.2018
07:15:23
Слабая инфраструктура тоже отпугивает

Мне нравится GC, но в том виде в котором он есть сейчас, все плохо

Dmitry
06.01.2018
07:16:05
GC может и не главное, но это то, что делает язык удобным и продуктивным. Об этом еще Спольски писал в 13 веке: главный скачок в продуктивности при переходе со старинных языков на более современные вызван как раз наличием автоматического управления памятью, свободой не думать об этом.

Evgeny
06.01.2018
07:16:29
в 13 веке? :)

Dmitry
06.01.2018
07:16:40
утрирую :) давно, в общем

Evgeny
06.01.2018
07:16:46
Кто такой Спольски, и почему я должен считать его авторитетом?

Dmitry
06.01.2018
07:16:56
это известный авторитет :)

Evgeny
06.01.2018
07:17:22
Для кого известный? И ты готов принимать на веру слова какого-то хрена, потому что он просто авторитет?

Ну-ну

Dmitry
06.01.2018
07:18:24
Нет, конечно. Просто я давно в интернете.

https://www.joelonsoftware.com

Evgeny
06.01.2018
07:18:41
Опять же GC удобная штука. Но я от него страдаю. Я устал бороться с течами в своем приложении.

там втыкай ручное управление, сям втыкай, в итоге только строки и остаются. Накой нужен такой GC?

Google
Dmitry
06.01.2018
07:20:54
Ну вот у меня есть GUI приложение, работающее с гигабитами видео. Память под видео и картинки легко вручную выделить, а все что касается работы GUI (dlangui) - отлично управляется GC. Щастье, простота и никаких проблем.

Evgeny
06.01.2018
07:21:00
Вот переписываю свой сервис на elixir/erlang и с удовольствием не думаю об управлении памятью.

Dmitry
06.01.2018
07:21:38
Аналогично есть прога для работы с фотками.

Картинки вручную, все остальное - GC.

Dmitry
06.01.2018
07:21:59
Но проблемо

Evgeny
06.01.2018
07:22:30
попробуй написать нагруженный вебсервис, да чтобы еще аптайм был хотя бы месяц

Dmitry
06.01.2018
07:22:38
Ну так не надо для долгоживущих нагруженных сервисов брать рантайм с плохим текущим GC. Не надо.

Сервисы с аптаймом по полгода у меня на vibe.d есть.

Evgeny
06.01.2018
07:23:02
нагруженные?

Dmitry
06.01.2018
07:23:05
нет

см выше

нагруженные на вайбе я б не стал делать

Dmitry
06.01.2018
07:25:16
правда жизни

надо понимать свойства инструментов

Evgeny
06.01.2018
07:25:30
Это не правда жизни, это ошибка жизни

надо понимать свойства инструментов
Невозможность писать долгоживущие нагруженные сервисы - это свойство D?

Dmitry
06.01.2018
07:26:15
да

по крайней мере с текущим GC

Google
Dmitry
06.01.2018
07:26:37
текущим в обоих смыслах :)

Evgeny
06.01.2018
07:26:46
да
Где это написано? Ты бы и сам не знал об этом, если бы кто-то не попробовал? lol

Dmitry
06.01.2018
07:27:14
я с D уже 5 лет, его GC изнутри представляю

Evgeny
06.01.2018
07:28:04
И когда же ты вдруг понял, что для долгоживущих сервисов он не годится?

Глупости все это, скажу я тебе. D позиционировался как замена плюсам

Dmitry
06.01.2018
07:29:09
это понятно любому, кто видел исходники рантайма и вайба

Я в свое время делал такие хуки для ГЦ https://bitbucket.org/infognition/dstuff/

Evgeny
06.01.2018
07:29:36
Я видел исходники вайбда. Даже не просто видел, а пулл-реквесты для него делаю периодически.

Dmitry
06.01.2018
07:29:59
и писал такие посты http://www.infognition.com/blog/2014/the_real_problem_with_gc_in_d.html

Evgeny
06.01.2018
07:30:03
исходники ГЦ тоже делал

но таки начал писать нагруженный сервис

Dmitry
06.01.2018
07:30:51
все ошибаются :)

Dmitry
06.01.2018
07:32:07
"мы работаем со строками, строками срем в кучу, наш ГЦ течет и тормозит, что может пойти не так?" "давайте писать нагруженный сервис"

Evgeny
06.01.2018
07:32:17
Отличие между мной и тобой в том. Что ты решил что корявый GC - это такое нормальное свойство. Ну типа инструмент такой. А я вот считаю это багом.

Dmitry
06.01.2018
07:32:52
без коренного изменения языка это реальность, данная нам в ощущениях

и прогресс в развитии дишного гц такой быстрый, что за 15 лет ничего не изменится

вон в свифте запилили ARC. результат? дикие тормоза

Evgeny
06.01.2018
07:34:14
без коренного изменения языка это реальность, данная нам в ощущениях
Возможно и так. Но это всяко не "инструмент такой" и "надо правильно выбирать инструменты". Это утверждение чисто эмпирическое.

вон в свифте запилили ARC. результат? дикие тормоза
в ObkectC тоже запилили ARC и все прекрасно

Dmitry
06.01.2018
07:35:46
вот только в команде Ди некому даже как в свифте сделать

Google
Dmitry
06.01.2018
07:35:58
можно конечно сидеть и ждать чуда

Evgeny
06.01.2018
07:36:05
Типа купить автомобиль и выяснить, что он ездит только по прямой. И тут чувак начинает втирать, что это свойство данной марки автомобиля, а для поворотов надо было брать другой автомобиль.

можно конечно сидеть и ждать чуда
Ну я не жду. Переписываю сервис на erlang/elixir, там хоть не течет GC

Igor
06.01.2018
07:37:21
не писал на vibe вебсервис, но писал довольно нагруженную мониторилку, которая принимала из сети поток данных и обрабатывала его. поток был довольно плотный (наверное под сотню тыс метрик в секунду). работало

Dmitry
06.01.2018
07:37:27
ну вот, взял другой автомобиль :)

Igor
06.01.2018
07:37:33
собственно может проблема конкретно в вайбе?

Dmitry
06.01.2018
07:39:22
Все сводится к тому, насколько проект загружает нынешний сборщик. Можно писать и нагруженные проекты, если на сборщик сильно не надеяться и аккуратно с памятью обращаться.

Evgeny
06.01.2018
07:39:26
не писал на vibe вебсервис, но писал довольно нагруженную мониторилку, которая принимала из сети поток данных и обрабатывала его. поток был довольно плотный (наверное под сотню тыс метрик в секунду). работало
От сложности зависит. У меня достаточно сложный сервис, там дофига взаимодействи со сторонними сервисами. и Множество параллельных процессов. Тысячи файберов.

собственно может проблема конкретно в вайбе?
Возможно и так. Тем более, что там были утечки, некоторые из которых я же сам баг-репортил.

Доподлинно известно, что встроенные ассоциативные массивы тоже текут

Admin
ERROR: S client not available

Evgeny
06.01.2018
07:42:31
Тут в чате есть человек, который заменил встроенный ассоциативный массив на RedBlackTree из фобосо и оно перестало течь. Вау! Ты ниправильный инструмент выбрал! Надо было в исходники ГЦ сматреть!

Это, брат не я не выбрал неправильный инструмент, а ты сделал неправильный иснструмент.

Dmitry
06.01.2018
07:44:07
Я когда-то делал себе хэштаблицы, не опирающиеся на GC. https://bitbucket.org/infognition/robinhood

Evgeny
06.01.2018
07:46:01
Да и я сделал, только не хеш-таблицы, а AVL-дерево, полностью nogc, чисто на RC.

Но я не хочу подобным говном заниматься

Dmitry
06.01.2018
07:46:45
Делай короткоживущие программы, там все ок.

Просто, удобно, безпроблемно

Хочется делать сервисы на нативном коде и нормальном GC - Nim, Pony, Haskell ждут вас. Каждый со своим набором особенностей/сложностей.

Что интересно, Уолтер с Андреем вроде начинали думать в сторону ARC год-два назад, но я не видел, чтоб из этого что-то в итоге получилось.

Google
Evgeny
06.01.2018
07:54:44
Ну то есть ты считаешь, что надо на главной странице dlang.org написать, что язык не годится для долгоживущих сервисов и на этом успокоится?

Хочется делать сервисы на нативном коде и нормальном GC - Nim, Pony, Haskell ждут вас. Каждый со своим набором особенностей/сложностей.
Nim - сырой, Pony - не знаю даже что это такое. Haskell - рафинированное ФП. Мне нравится D, я хочу писать на D.

Dmitry
06.01.2018
07:56:13
Я бы написал "в таких сервисах не надейтесь на GC. Пишите, но за памятью следите сами".

Там уже это и написано по сути - что сборщик частично консервативный

имеющий уши да услышит

Evgeny
06.01.2018
07:57:04
Я бы написал "в таких сервисах не надейтесь на GC. Пишите, но за памятью следите сами".
Меня бы устроил такой расклад, но в D средства для ручного управления памятью с гулькин нос.

Dmitry
06.01.2018
07:57:54
ну вот experimental.allocators выкатили, надо осваивать

EMSI на них контейнеры понаделали

я правда пока сам не пробовал

Evgeny
06.01.2018
07:58:58
EMSI я пробовал. RC там нет

Dmitry
06.01.2018
07:59:15
Pony - это как Erlang скрестили с Rust по хардкору

Evgeny
06.01.2018
07:59:32
контейнеры все с отключенным this(this)

Dmitry
06.01.2018
07:59:40
Там можно тыщи акторов, и никакого stop the world

Evgeny
06.01.2018
08:00:06
Там можно тыщи акторов, и никакого stop the world
А ну я и так тыщи акторов с elixir

Dmitry
06.01.2018
08:00:28
elixir на ВМ, а пони нативный

но он еще сырее нима

Evgeny
06.01.2018
08:00:57
Не, мне тут на D тоже обещали тысячи файберов

а потом - неправильный инструмент, а-ха-ха

мне нативность особо не нужна

мне сам язык нравится

был бы D на ВМ какой-нибудь жавы, а бы пересел без проблем

Dmitry
06.01.2018
08:03:07
а потом - неправильный инструмент, а-ха-ха
Ну просто большая часть библиотек и проектов на D пишется в расчете на идеальный GC. А он внезапно не идеальный.

Evgeny
06.01.2018
08:03:11
vibe.d сливает phoenix не смотря на нативность первого

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