
Evil
05.01.2018
15:38:27

Evgeny
05.01.2018
15:43:37
что именно пояснить?
GC в дешке обречен быть как минимум тормозным, и наверняка текучим
для long running задач не подходит

Google

Evil
05.01.2018
15:49:12
Ну словари он не чистит практически
Тормоза-тормоза я не ощущал, даже при загрузке памяти на 10гб
Может сравнить нету с чем такую задачу
Расскажи, на чем ты свои выводы строишь

Ned Ogl
05.01.2018
15:57:22

Evgeny
05.01.2018
15:59:26
при большом количестве маленьких обектов (у меня их крутится порядка сотен тысяч) тормоза заметные. GC если верить профилировщику, может до 20% времени работы программы жрать
а иногда и зависает слегка

Ned Ogl
05.01.2018
16:02:38

Evgeny
05.01.2018
16:03:23
интересно послушать, правда ли это и как он решает проблемы с полным отсутствием сколь-нибудь серьезных либ

Evil
05.01.2018
16:06:31

Ned Ogl
05.01.2018
16:07:39

Google

Evgeny
05.01.2018
16:08:04
весить?

Ned Ogl
05.01.2018
16:08:11
именно
в памяти

Evgeny
05.01.2018
16:08:34
на вес вообще наплевать, кого волнует вес при терабайтный накопителях?

Ned Ogl
05.01.2018
16:08:46
оперативной, лол

Evgeny
05.01.2018
16:08:51
тут дело не в качестве, а в принципиальной невозможности

Ned Ogl
05.01.2018
16:09:05
сейчас модно пилить веб-сервера на малинке, туда DDR не воткнёшь

Evgeny
05.01.2018
16:09:32
на малинке крутятся веб-сервера на питоне

Ned Ogl
05.01.2018
16:09:37

Evgeny
05.01.2018
16:09:40
о чем ты вообще тут говоришь?
потом что жаба вертится на виртальной машине, а D - компилируется в натив код

Ned Ogl
05.01.2018
16:10:33
о том, что если ты пилишь веб-сервер на Ди и тебе нужен сборщик, крутой зашибенный сборщик схавает много оперативки и малинка начнёт свапить страницы
что ещё хуже замедлит работу
тут уже целесообразно самому аккуратно разбираться с памятью
профилировать и отсекать лишнее

Evgeny
05.01.2018
16:11:52
На малинке отлично крутится и жаба и питон со сборщиками мусора

Oleg
05.01.2018
16:11:57

Evgeny
05.01.2018
16:12:07
кто тебе вообще сказал, что качественный сборщик мусора занимает много места в памяти?

Ned Ogl
05.01.2018
16:12:50
а кто тогда сказал тебе, что он в Ди теоретически неосуществим?

Evgeny
05.01.2018
16:13:19

Google

Evgeny
05.01.2018
16:13:45
Выбор алгоритмов GC на дешке, увы невелик

Ned Ogl
05.01.2018
16:14:34
если честно, я не очень понимаю, зачем делают из системного языка энтерпрайз-лошадьи начиняют его всякими этими сборщиками
Я не очень ясно выразился

Evgeny
05.01.2018
16:15:08
Boehm–Demers–Weiser, Precise GC (который еще тормознее, но меньше течет)
Сделали бы качественный ARC и вот тебе замена сборщику как на плюсах
а сейчас даже если сам сделаешь ARC потом все равно куча говна на границах между ARC-модулями и не ARC

Ned Ogl
05.01.2018
16:18:09
С другой стороны, это не Уолтер Брайт - тот парень, который задал тенденцию скрещивать системные языки с ООП и синтаксически их сахарить. И Ди в данном случае пытается подстроиться под уже существующие (и долгоиграющие) тренды
Потому концептуально мне очень нравится идея с betterC
Она немного разграничивает системщину и прикладное программирование

Evgeny
05.01.2018
16:19:10
Как я уже говорил, де-факто она ничего не разграничивает

Ned Ogl
05.01.2018
16:19:16
С другой стороны в режиме не-беттерС всё равно нужна оптимизация

Evgeny
05.01.2018
16:19:34
nogc - вот тебе и все системное программирование
betterC - не нужен

Pavel
05.01.2018
16:20:04
Дать языку мощь и гибкость и простоту интерпретируемого при этом оставаясь как можно более низкоуровневым.

Evgeny
05.01.2018
16:21:02
дык сам язык получился норм
но можно было его и без GC сделать
представте себе плюсы с человеческими шаблонам и прочими плюшками - орды плюсовиков ваши

Ned Ogl
05.01.2018
16:22:06

Google

Evgeny
05.01.2018
16:22:08
но пришел Alxandrescu и все испортил

Pavel
05.01.2018
16:22:13

Ned Ogl
05.01.2018
16:22:23

Evgeny
05.01.2018
16:23:30

Ned Ogl
05.01.2018
16:23:49
ну, и как режется?
я вот о чём

Evgeny
05.01.2018
16:23:57
Как в плюсах

Ned Ogl
05.01.2018
16:24:03
эмм?

Evgeny
05.01.2018
16:24:24
В плюсах можно отпилить эксепшены и RTTI, а GC там и так нету

Ned Ogl
05.01.2018
16:24:36
-ffreestanding -nostdlib -nostdinc ?

Admin
ERROR: S client not available

Evgeny
05.01.2018
16:25:07
или какие там опции, я уже не помню

Ned Ogl
05.01.2018
16:26:35
есть нечто такое, да

Evgeny
05.01.2018
16:26:51
при этом компилер поругается если попытаться это применить

Ned Ogl
05.01.2018
16:28:38
погоди, ты про шланг сейчас?
мол, шланг может и ldc может?

Evgeny
05.01.2018
16:46:06
я про gcc, шлангом не пользовался

Ned Ogl
05.01.2018
18:59:59
ребят, я тупой, наверное

Google

Ned Ogl
05.01.2018
19:00:07
почему я не могу нормально ввести строку?
я ввожу, а там строка с приклеенным '\n'
чем её в нормальный вид привести?
кстати, я впервые пишу консольное приложение на D)

Igor
05.01.2018
19:01:19
data.strip() ?

Ned Ogl
05.01.2018
19:03:35
data.strip() ?
а почему он, кстати, залупается, если я делаю strip(str)?
зато str.strip() работает....
судя по UFCS это взаимозаменяемые способы

Igor
05.01.2018
19:38:55
что значит “залупается”? сообщение об ошибке есть?

Ned Ogl
05.01.2018
19:39:54
я проcт пробовал вызывать chomp(str, '\n');
и сообщение было "не могу найти подходящий шаблон под ваш вызов"
и это неудивительно, ведь надо было вызывать сhomp(str, "\n")

Igor
05.01.2018
19:41:54
хотел “\n”

Ned Ogl
05.01.2018
19:42:28
ну вот, я в мире работы с памятью живу, не знал про всякие стдлибские ништяки

Oleg
05.01.2018
19:52:47

Tom
06.01.2018
03:11:28

Dmitry
06.01.2018
05:08:10
Для меня привлекательность D как раз в том, что можно писать как на C#, только мощнее (богатые шаблоны, интроспекция), и на выходе получаю нативный бинарник, не требующий установки никаких VM (CLR/JVM).
А что GC тормозной - ну да, это fact of life, надо научиться это осознавать и иметь в виду, когда решаешь, стоит ли в конкретном проекте использовать D. И если решил использовать, то аккуратно подходить к тому, что держать в GC куче, а что выделять вне ее.


Evgeny
06.01.2018
06:26:56
Тебя послушать, то можно подумать, что D - это всего лишь плюсы со сборщиком мусора.