
Denis
23.04.2018
14:08:24
мой бот в дебажном виде весит 22 мб)

Oleg
23.04.2018
14:08:49
учитывать такие вещи это делать "историю сложившейся" =)
потом кто-нибудь спросит "зачем так?", а ты в ответ "так исторически сложилось"
а компилятор уже к этому моменту могут поправить

Google

Pavel
23.04.2018
14:09:29
Почему? Я же сознательно иду на то чтобы разбить все на логические модули

Oleg
23.04.2018
14:09:43
я не против разбития на модули
я про то что аргумент плохой
разбитый на модули код читать легче
а это инвистиция в будущее проекта

Denis
23.04.2018
14:24:42

Pavel
23.04.2018
15:01:21
Я уже понял что не прокатит (
Структура Message содержит в себе все остальные ключевые структуры, так что на файлы не разобьешь. Придется все их импортить обратно и использовать.

Oleg
23.04.2018
15:16:40
это не мешает разбить на файлы
это мешает реализовать твою задумку с микроэкономией памяти на диске
+/- 500Кб

Dark
23.04.2018
15:17:12
(В размере бинарника)

Google

Oleg
23.04.2018
15:17:33
имхо вообще не важно
всё, где крутися в основном D программы это нормальные линукса и виндовсы
ну будет у тебя не 5Мб а 22Мб
да даже если масштабировать

Dark
23.04.2018
15:18:44

Oleg
23.04.2018
15:19:19
скорость работы и расход оперативы более важные критерии
если о выходе говорить
а если о разработке, то скорость и удобство разработки
если бинарник в разумных пределах то это пофигу
вот вижак в 10Гб в минимальной комплектации — это черезчур имхо =)

Dark
23.04.2018
15:22:10

Oleg
23.04.2018
15:22:47
тоже верно, но есть нюансы
постраничная загрузка и тд
но тут я думаю целиком будет грузиться

Pavel
23.04.2018
15:23:57
Во-первых в release режиме бинарник значительно худее чем в дебаге. Иногда в 3-5 раз
Во-вторых, ldc2 очень круто вырезает и еще меньше умеет бинарник упаковывать.

Dark
23.04.2018
15:24:55
В общем случае, правило таково: не экономьте миллисекунды (килобайты etc) там, где это не критично

Pavel
23.04.2018
15:25:03
Он весил 30 мб, а в память загрузилось годе-то 10 мб

Dark
23.04.2018
15:26:09

Google

Dark
23.04.2018
15:28:00
Кстати, выборочный импорт не влияет на размер бинарника - видимо DMD не выпиливает ничего. Или все.

Denis
23.04.2018
15:50:33
А у нас ipv6 случайно уже не блочат?
бот отвалился потому что к телеге через него досутпа не стало

Pavel
23.04.2018
16:20:55

Dark
23.04.2018
16:25:18

Dmitry
23.04.2018
16:25:24
Пухлые бинарники - это какой-то косяк dmd на линуксе. На винде тот де dmd делает в два раза меньше бинарник из того же исходника. То, что на линуксе LDC делает бинарники меньше dmd, это не столько заслуга ldc, сколько косяк dmd, на винде нет такого разрыва.

Dark
23.04.2018
16:25:53

Dmitry
23.04.2018
16:25:56
(по моим не очень системным наблюдениям)

Dark
23.04.2018
16:28:00
Ну знач пиши хэлловорд, и сравнивай размеры

Denis
23.04.2018
16:28:47
China Action Plan of Promoting the Deployment of the Internet Protocol (IPv6) issued and published by the
General Office of the CPC Central Committee
Партия сказала "надо!"

qwerty
23.04.2018
16:31:18
можно еще strip-ом потом по бинарику
еще худее будет

Dark
23.04.2018
16:36:34

Pavel
23.04.2018
16:36:38
Это linux утилита такая?

Denis
23.04.2018
16:36:47
Да
она выпиливает символы вроде

Dark
23.04.2018
16:43:22
Это вообще легально?

Denis
23.04.2018
16:43:59
ну если затруднить дебаг хочется например

Google

Denis
23.04.2018
16:44:11
или вон как в ядре - слишком дофига кода и приходится экономить

Dark
23.04.2018
16:53:19

Denis
23.04.2018
16:54:42
http://sl.cartoonbank.ru/4d326725330b89.36119830Ssylki_copy.jpg
вспомнилось почему-то

Igor
23.04.2018
16:56:02
стрипнуть можно только дебаг-символы
не обязательно всё

Pavel
23.04.2018
16:57:56
А как стрипом пользоваться то? У меня размер бинарника ваще не изменился
strip -s -o stripped echobot

Admin
ERROR: S client not available

Pavel
23.04.2018
16:58:47
$ ls -al echobot stripped
-rwxrwxr-x 2 ubuntu ubuntu 5743000 Apr 23 16:54 echobot
-rwxrwxr-x 1 ubuntu ubuntu 5743000 Apr 23 16:57 stripped

Igor
23.04.2018
17:00:23
file echobot

Pavel
23.04.2018
17:01:13
$ file echobot
echobot: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=a73d9faee1b1c92777e864f459e447573be7243a, stripped
>>> stripped
=)
dub делает все за нас

Stanislav
23.04.2018
17:02:24
это release?

Pavel
23.04.2018
17:02:35
Ага

Stanislav
23.04.2018
17:03:02
печаль ? ну с другой стороны вайб вроде нехилый
хочется eventloop на betterC

Глеб
23.04.2018
17:03:37
к либфобос линкуется динамически?

Pavel
23.04.2018
17:04:05
кто?

Глеб
23.04.2018
17:04:32
обсуждаемый бот

Google

Pavel
23.04.2018
17:04:50
Уточни а то тут много ботов обсуждается )
Этот echobot, к нему линкуется статически вроде

Глеб
23.04.2018
17:05:15
кстати, похоже, кульминация: десктопная версия tg перешла на работу по ipv6 (6to4). мобильная пока работает
обсуждаемый эхобот

Pavel
23.04.2018
17:05:51
Обычно компилятор статически линкует druntime и libphobos2, все остальное динамически

Глеб
23.04.2018
17:06:08
а почему бы не перейти на динамичнскую линковку?

Pavel
23.04.2018
17:06:08
Это дает возможность запустить полученный бинарь почти на любом линуксе включая busybox

Глеб
23.04.2018
17:06:38
это понятно, но если ставится задача посмотреть чистый размер...

Pavel
23.04.2018
17:07:37
Ну размер это конечно немного спекуляции. Но например как край, хочется чтобы программы могли запускаться на небольших роутерах с сотней мегабайт диска и парой десятков памяти
Часто такая архитектура, что роутер в квартире воткнут в интернет и работает всегда. А другие устройства выключаются/переносятся.
Ну на всяких cherry-pi там другая жизнь, нужно совсем мало ресурсов жрать

Denis
23.04.2018
17:12:17
надо куда-то .map складывать же

Глеб
23.04.2018
17:12:28
dmd пихает в код столько интроспекции, что размер становится вовсе неприличным. на линуксах, во всяком случае. а вот в динамической линковке, всё гораздо приятнее

Denis
23.04.2018
17:13:03

Глеб
23.04.2018
17:13:53

Denis
23.04.2018
17:14:38
вчера поднял туннель и оно подхватило его автоматом

Глеб
23.04.2018
17:16:20
не, во всяком случае, у меня очень старая версия, из репо дистра. не обновлял для чистоты эксперимента. до сегоднешнего вечера работала по ipv4, видимо, остался последний шанс и она его использовала

Denis
23.04.2018
17:22:11
на мобилках пишут вот-вот апдейт будет, список проксей станет бесконечным и они сами будут проверяться на доступность

Глеб
23.04.2018
17:23:39
вопрос, когда прекрастится вакханалия с блокированием всего и вся