@dlangru

Страница 414 из 719
Denis
23.02.2018
15:14:20
Это как раз то, кмк, что нужно банку обычно

elias
23.02.2018
15:15:37
привет. а с чем хорошо у D-библиотек?

Denis
23.02.2018
15:16:36
Вообще везде всё плохо, не переживайте: Core was generated by `/home/denizzz/.TelegramDesktop/Telegram'. Program terminated with signal SIGILL, Illegal instruction. bt#0 0x0000000001c4a5e1 in ?? ()

кто бы денег влил в язык

Google
Denis
23.02.2018
15:21:52
TD на C++/Qt написан.
Да, и оно тоже падает. где-то в районе libthread_db

libc6 вроде стабильный стоит, даже хз что это

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

Pavel
23.02.2018
15:23:56
Буду знать к кому предъявлять претензии если что ?

Valeriy
23.02.2018
15:24:49
У нас D будет только в нашем отделе. Ито мы его только внедряем. Я вот, пару недель как начал его учить. Бэк на C# написан

Denis
23.02.2018
15:25:37
а в тинькове - хаскель

Valeriy
23.02.2018
15:26:53
Eto
23.02.2018
15:31:04
Да, и оно тоже падает. где-то в районе libthread_db
Что только не ломается нынче. Да и зачем всему этому быть устойчивым, если даже critical софт пишут абы как.

Denis
23.02.2018
15:32:41
Ну так народ со скайпа и повалил

Google
Eto
23.02.2018
15:34:45
И я бы свалил, если бы по работе не надо было использовать.

Eto
23.02.2018
16:09:37
На самом деле иногда надо...

Denis
23.02.2018
16:31:38
Eto
23.02.2018
16:35:27
Вообще, на соседних проектах народ Telegram уже использует.

Pavel
23.02.2018
16:47:25
Что лучше - выделять статически 255 байт на стеке или динамически по 2-3 требуемых байта?

Oleg
23.02.2018
17:06:20
Хотя сборщик может не делать системных вызовов и из пула внутреннего отдавать, но мы уже определились, что сборщик не очень))

Pavel
23.02.2018
17:07:56
Да, надеяться на него как-то не очень.

Evgeny
23.02.2018
17:09:19
Хотя сборщик может не делать системных вызовов и из пула внутреннего отдавать, но мы уже определились, что сборщик не очень))
Ну, пулы он точно умеет. Со сборкой не ахти, а вот с аллокацией как раз неплохо у него.

Pavel
23.02.2018
17:09:43
Так а какой размер стека у функции? От чего это зависит вообще? Это быстро работает?

Oleg
23.02.2018
17:10:03
Чего бы ему быстро не работать?

Eto
23.02.2018
17:10:31
Evgeny
23.02.2018
17:10:33
аллокация на стеке очень быстрая. если можно на стеке, то лучше на стеке

точнее аллокация на стеке - вообще не занимает времени :)

Pavel
23.02.2018
17:11:36
Ну просто передвинуть ESP как я понимаю

Evgeny
23.02.2018
17:12:26
ага

просто передвинуть его дальше, чем без аллокации :)

Eto
23.02.2018
17:12:41
Яву вообще закопать - там cast это опкод виртуальной машины. Понятно почему она тормозит)
Хм. Серьёзно? Это главная причина, что java тормозит? Год в проекте на java участвовал. И главная проблема производительности, то как с объектами работают. И как от этого алгоритмы меняются. Но это в том проекте.

Google
Denis
23.02.2018
17:41:13
> Хм. Серьёзно? Это главная причина, что java тормозит? Нет конечно, сарказм прост.

Владислав
23.02.2018
17:43:12
Буду знать к кому предъявлять претензии если что ?
Если будут какие-то проблемы/вопросы/пожелания по Модулю, то можете также писать и мне :)

Denis
23.02.2018
18:02:51
Серьёзный вопрос: http://vibed.org/api/vibe.core.driver/FileDescriptorEvent.Trigger Раньше во всяких select(2) был ещё error - а сейчас куда оно делось?

Eto
23.02.2018
21:33:01
https://mystudentvoices.com/a-look-into-nasas-coding-philosophy-b747957c7f8a

Pavel
23.02.2018
23:19:17
https://forum.dlang.org/post/pkxvppurjjeqwuceywlz@forum.dlang.org что это за магия??

Denis
23.02.2018
23:19:57
О чем речь?

Pavel
23.02.2018
23:21:30
enum CT(alias S) = S; assert(condition, CT!("Text " ~ Double!"+" ~ ___FUNCTION__)); // Must be evaluated at CT no matter what

Я пытаюсь сконкатенировать заранее заданные строки в CT

Для этого над функцией я написал @nogc

Без этого шаблона он ругается cannot use operator ~ in @nogc function

НО с этим шаблоном нормально компилирует ))

Denis
23.02.2018
23:23:00
дык потому что ~ работает как выделить память под новую строку (или удлинить исходную) и сложить туда всё

Pavel
23.02.2018
23:23:18
Denis
23.02.2018
23:23:32
Надо глянуть что там за шаблон

Pavel
23.02.2018
23:23:49
То есть компилятор думает что GC, а засунули в какой-то непонятный alias S = S и компилятор уже все тихо пропускает

enum CT(alias S) = S; так вот же шаблон

Denis
23.02.2018
23:24:16
ну я про код его

Pavel
23.02.2018
23:24:37
Аа

Так он сам не есть его код?

Я думал что CT это парень придумал просто название

Google
Pavel
23.02.2018
23:25:41
Ну да, я прав

enum MYCT(alias S) = S; вот такое работает так же

Denis
23.02.2018
23:26:51
записть непонятная, если шаблон такой то такое бывает, в С++ часто используется

но при чём тут enum

аа, enum означает что вычислить надо в CT

https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%BD%D0%BE_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD

вот оно вроде

только не методы добавляются а строка вычисляется "назад"

Pavel
23.02.2018
23:28:53
хех

ну так-то, конкатенация заранее известных строк и так вычисляется в CT

Но @nogc почему-то об этом не догадывается

Denis
23.02.2018
23:31:16
возможно потом enum уберут и оно начнёт вычислять только то что знает а остальное потом в рантайме?

А enum щас для отладки

Pavel
23.02.2018
23:32:02
Теперь мне придется все конкатенации внутри функции обернуть в этот костыль. Отлично млять.

Denis
23.02.2018
23:32:43
да ладно костыль! красиво же

Pavel
23.02.2018
23:32:59
да ну

Расписной лакированный костыль, да

Evgeny
24.02.2018
06:33:39
enum CT(alias S) = S; форсирует вычисление значения идентификатора S в compile time

Google
Evgeny
24.02.2018
06:40:56
записть непонятная, если шаблон такой то такое бывает, в С++ часто используется
В С++ таких шаблонов не бывает. Странно рекурсивный шаблон - это, мягко говоря, совсем другое.

Pavel
24.02.2018
10:55:34
можно код функции?
Пример https://run.dlang.io/is/PqyJPq

Denis
24.02.2018
10:58:47
Кстати, enum и танцы с CT! ещё может быть для конкатенации не строк,а чего-то другого.

Evgeny
25.02.2018
05:55:06
Тут никакой магии нет. Просто конкатенация даже известных в CT строк не обязана быть выполнена в CT. "Магический" шаблон создает enum равный переданному выражению. Этот enum обязывает компилятор выполнить выражение в CT. Можно иначе форсировать компилятор делать конкатенацию CT. Например так: https://run.dlang.io/is/DchNJ8

фактически auto s = CT!(expression); полность эквивалентно enum _hiddenEnum = expression; auto s = _hiddenEnum; Я обычно в подобных случаях сокращаю до enum s = expression; и нужды в волшебных шаблонах не возникает.

Igor
25.02.2018
06:45:16
прикольно, хром и фаерфокс показывают разный набор кнопок на run.dlang.io

Denis
25.02.2018
07:52:16
> Этот enum обязывает компилятор выполнить выражение в CT. enum всегда обязывает этому, не только такой. Тут именно в рекурсивности шаблона дело.

> обычно в подобных случаях Дык об этом и разговор что все так делают.

Evgeny
25.02.2018
08:52:52
> Этот enum обязывает компилятор выполнить выражение в CT. enum всегда обязывает этому, не только такой. Тут именно в рекурсивности шаблона дело.
"этот" обозначает enum в обсуждаемом шаблоне, а не "только такой". Ваш, КО. И в этом шаблоне нет никакой рекурсии

Denis
25.02.2018
09:27:55
Да да, ок, нету.

Oleg
25.02.2018
14:07:09
почему dub НЕ ХОЧЕТ уметь выдавать настройки сборки для targetType "none"? https://github.com/dlang/dub/blob/master/source/dub/project.d#L846 в моём случае это портит всю малину: один большой dub.sdl на связанные проекты содержит targetType "none" для корня, все программы как subPackages объявлены workspace-d из-за этой строки не даёт автокомплит и переход на объявления кто-нибудь сталкивался с подобным вопросом? поиск по issues и SO ничего не дал...

@ahdenchik нет идей?

Denis
25.02.2018
14:21:06
а зачем тебе none там? поставь source library например

даб ведь в этом случае всё равно автодетект пытается делать, т.е. какой-то тип ему задаёт

так что ничего сломаться не должно если угадаешь с типом

Evgeny
25.02.2018
14:21:56
он захочет сырцы тогда

придется городить фейк

Denis
25.02.2018
14:22:19
ну и пусть хочет - Олегу не нужно главный пакет собирать же, как я понял

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