nvkv
redbeard
http://alvinalexander.com/photos/parallelism-vs-concurrency-programming
redbeard
вот что пишут
Kirill
Запусти hello world под strace
я знаю как минимум 3 способа написать хелло ворлд, так что результат может быть разным. покажи какой конкретно код.
Roman
Kirill
ага. сейчас посмотрю почему столько жрет.
Kirill
версия гошки какая?
Ruslan
hello world должен быть 1.6мб
Kirill
Ruslan
Ruslan
https://blog.golang.org/go1.7-binary-size
Kirill
отлично. мы не о размере бинаря от слова совсем.
Ruslan
а
Ruslan
:D
Kirill
о, js'еры подошли
Ruslan
noir то?
Kirill
йеп
Daniil
чего обзываться сразу
Ruslan
Привет :)
Kirill
привет
Kirill
чего обзываться сразу
ну -- из пяти чатов, в которых сидим мы оба, три -- js'ерские, один этот и один с вакансиями
Roman
Kirill
Anonymous
arm7h, 1,2mb бинарь получился хеллоworld'а
Anonymous
go 1.8
Roman
Anonymous
А чем меряемся?
Roman
Откуда столько не умеющих читать?
Anonymous
Наверн не то, чем мы меряемся :)
Roman
Roman
Память то оно как-то аллоцирует
Roman
И для бинаря в 1мб должен быть mmap, а не brk
Anonymous
Вот такого куча строк
rt_sigaction(SIGRT_27, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGRT_27, {sa_handler=0x5b6f0, sa_mask=~[],
Anonymous
Как же сложно меряться 😄
Anonymous
andrew@bananapi /tmp % strace -F ./tmp | head -n5
execve("./tmp", ["./tmp"], [/* 32 vars */]) = 0
getpid() = 11928
sched_getaffinity(0, 8192, [0, 1]) = 4
mmap2(0x200000, 807411712, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x200000
mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f4d000
clock_gettime(CLOCK_MONOTONIC, {tv_sec=69070, tv_nsec=531351823}) = 0
mmap2(0x10400000, 1048576, PROT_READ|PROT_WRITE,
Roman
andrew@bananapi /tmp % strace -F ./tmp | head -n5
execve("./tmp", ["./tmp"], [/* 32 vars */]) = 0
getpid() = 11928
sched_getaffinity(0, 8192, [0, 1]) = 4
mmap2(0x200000, 807411712, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x200000
mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f4d000
clock_gettime(CLOCK_MONOTONIC, {tv_sec=69070, tv_nsec=531351823}) = 0
mmap2(0x10400000, 1048576, PROT_READ|PROT_WRITE,
32bit?
Roman
вообщем, боль вот в чем:
Anonymous
Так точно
Roman
mmap2(0x200000, 807411712, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x200000
Roman
и у меня:
Roman
mmap2(0x16bb0000, 25493504, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x16bb0000
Anonymous
Прошу для неграмотных объяснить, где "боль".
engelbart
Память жалеют
Anonymous
Память жалеют
Смотрю в htop:
RES: 8mb
SHR: 5 mb
Это типа много?
Anonymous
Или виртуальную память жалеют?
engelbart
на хелло ворлд же
Anonymous
Странно сравнивать языки по helloworld'ам...
engelbart
Да просто скучают люди. что уж тут за сравнения.
Roman
Или виртуальную память жалеют?
проблема простая: запуск этого самого hello world на openwrt с 32мб памяти получается только если основательно выкосить кучу модулей
Anonymous
Слабые устройства - это отдельный мир, где правит C (и страдают программисты).
Vladimir
Мне кажется в нише слабых устройств у Раста больше перспектив
Anonymous
Забираю слова обратно, динамическая линковка - и бинарник 50кб.
engelbart
А кто знает просто путь сделать xml.Unmarshall для
<?xml version="1.0" encoding="windows-1251"?>
<data status="ok"><contract balance=....
в лоб оно не хочет
FATAL ERROR: xml: encoding "windows-1251" declared but Decoder.CharsetReader is nil
Anonymous
Anonymous
Ваще распоясались, лень им гуглить стало. 😂
engelbart
Честно говоря я решил, и блин не отписал здесь.
engelbart
Но кто там у паддановов гуру ? Я забыл. Вобщем спасибо наставник!
分解物質
Anonymous
> и страдают программисты
лол
Пока сишники чистят за собой и рисуют заголовочные файлы, гоферы на расслабоне пишут код за чашечкой (или из чего там употребляют) смузи. (Мусор за гоферами убирает лично сам Роб Пайк).
分解物質
Ruslan
Ruslan
5+
Anonymous
(Здесь ещё должна была быть шутка про обработку исключений в C и Go, но я не смог её сформулировать)
Mikalai
Anonymous
В C нет исключений :)
А чо там тогда происходит при делении на ноль или ошибке доступа к файлу?
Mikalai
А при ошибке доступа к файлу соответствующая функция вернет нулевой указатель
Mikalai
Если его заюзать - сегфол
Anonymous
То есть в любом случае - немая смерть. Тут должна быть шуткп про количество смертей программ на C и Go. 😁
Mikalai
Anonymous
Так это же ещё больше проверок чем if err != nil !
Mikalai
Ну это же си. И не больше, а столько же :)
Roman
ну, я теперь с интересом смотрю на nim :)
Anonymous
Anonymous
запилите жс без родовых травм.