Size: a a a

2021 February 13

V

Victor in ru.nim.talks
Забавно
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
ну, как я и сказал, пока можно --cursorInference:off
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
выключает эту оптимизацию
источник

V

Victor in ru.nim.talks
ОК, благодарю. Собираю эту программу для embedded, будет полезно
источник

V

Victor in ru.nim.talks
Стоит задача уменьшить бинарник, но совсем сборщик мусора не хочу вырезать
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
можно -d:useMalloc юзануть чтобы юзался malloc вместо стандартного аллокатора нима
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
уменшит килобайт 5-10
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
по производительности будет хуже, но если это не супер сильно важно, то пойдёт
источник

V

Victor in ru.nim.talks
Спасибо
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
ещё есть другие типа
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
-d:noSignalHandler
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
ним не будет создавать свои обработчики сигналов (ну типа SIGINT и т.д)
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
-flto обязательно
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
--passC:"-flto" --passL:"-flto"
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
--panics:on (переводит некоторые исключения в необрабатываемые - те, у которых Defect суффикс)
источник

V

Victor in ru.nim.talks
Кстати, не знаешь, насколько увеличивает бинарник httpclient? Была идея писать на сокетах
источник

V

Victor in ru.nim.talks
Нужно отправить простой POST-запрос
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Victor
Собирал так:
nim c -r --gc:arc --opt:size --checks:off --assertions:off --debuginfo:off --stackTrace:off --lineTrace:off test.nim
и да, если для оптимизации размера, то конечно -d:danger --opt:size
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
danger абсолютно все проверки выключает
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
это -d:release + все рантайм проверки выключаются
источник