Aleksey
Затестил на домашней винде, 8 реальных ядер, все в потолок загрузились
Mike
Поддерживаю, код однопоточный
Aleksey
И это очевидно из кода. Но хрена ли тогда на оно сжирает 8 ядер на винде, 4 в макоси (максимум доступного), а в линуксах 1 (из 32)? =)
Mike
Ну вот в расовой системе правильно все
Aleksey
И судя по времени выполнения, таки параллелится
Mike
А в гейоси и форточках как всегда через жопу
Mike
У тебя 7 ядер оверхэда прост
Vladimir
Aleksey
Для начала я хочу собрать это дело на линуксе и заценить чо будет, может оно собралось так
Aleksey
Просто потому что это быстрее
Aleksey
go run на целевой системе загрузил 16 ядер на чуть-чуть
Oleg
одно ядро...
Aleksey
Нет, явной нагрузки на одно ядро как при кросскомпиле, нет
Oleg
Го ведь выполняет системные вызовы в отдельных потоках? Может быть, в рантайме для мака где-то часто система вызывается.
Oleg
¯\_(ツ)_/¯
Aleksey
а где там системные вызовы? Внутри рандома?
Oleg
А вдруг?
Aleksey
На всякий случай: то что я писал выше, про то что в линуксах 1 ядро при кросскомпиле против 16 размазаных при нативной сборке, это может быть следтсиве того, что go run выполнен версией 1.6.3, потому что в epel свежее нет
Aleksey
Но всё равно, считает быстрее, а ни одно ядро не загружается даже на 50%
Oleg
ЧуднО. Генератор случайных чисел не использует системные вызовы. Значит, просто магия :)
Aleksey
Кстати, 1.8.1 против 1.6.3 имеет около 15% прироста на этой задаче при равных условиях. Они починили рандом? =)
Aleksey
Мне вспомнилось про генераторы рандома. Не исключено, что линуксовая машина имеет более эффективный источник, чем ЦП (или ЦП, но отдельным способом, не помню устройсто зионов), а вот десктоп и ноут вполне могут для генерации рандома юзать цп
Vladimir
engelbart
А что в go не убрали ещё необходимость компилить? go run же вроде был
Yehor
Ты перепутал группу с питоновской
🏳️ Phil
Kirill
engelbart
Ой, да ладно. В молчаший сутками канал разок пошутил
engelbart
Распаковывается golang-1.7-src (1.7.4-2) на замену (1.7.4-1) …
Что то у меня такое древнее всё
Kirill
вы лучше вот что скажите — /compile/internal/gc/dcl.go — это, конечно, хорошо, но вот где, собственно говоря, сам assign абстрактной переменной? я вот всё не найду входной точки обработки кейса присваивания.
Dmitriy
Ухты. Вы там патчите себе язык? ) Я как-то тоже туда лез, добавить одну конкструкцию в язык — так, для изучения
Kirill
Dmitriy
Я на днях вступил. Ок, круто
Kirill
Aleksey
Alexei
расскажи это репозиторию epel
пиши в bugzilla.redhat.com мейнтейнеру пакета просьбу обновить до последней версии, обычно они спокойно это делают, epel-же
Мерль
https://habrahabr.ru/post/326236/
Anonymous
почему никто не пишет про iris? оно же просто охренительное
Kirill
Kirill
100500 лет назад он спиздил код, за что был мною побанен в awesome-go, а вслед и во всех остальных источниках информации по Go.
Anonymous
Anonymous
kataras этот?
Anonymous
ник, конечно, да, странный, так а пиздил откуда?
igor
а в гитхаб-трендах он постоянно висит в топе почему то
Anonymous
из опенсорса что ли?
Anonymous
Мерль
спиздил автор iris?
Проблема не в том, что спиздил, а в том, что не указал источников и неадекватно и по хамски себя ведёт
Мерль
Anonymous
а мокрописьки тисипи стек спиздили из бзди. признавайтесь, кто тут еще на винде сидит?
Anonymous
впрочем, ладно.
Anonymous
а в чем прикол дрочить на звезды? это какой-то фетиш или просто надежда быть замеченым и прыгнуть на хуй потолще?
Vladimir
@lexfrei в центоси и рхеле вообще много старья, но это не повод его использовать там где это вредно. Сейчас уже часть проектов не собирается с Go < 1.7
Vladimir
а часть с < 1.8
Anonymous
а часть с < 1.8
А как же обещание обратной совместимости? Нам обещали! Из-за этого дженерики и обработку ошибок попроще на дают, так ещё и врут :(
Kirill
Aleksandr
Aleksandr
Aleksandr
в своих проектах.
Anonymous
Например?
Aleksandr
Например?
контекст когда ввели? с 1.7? очевидно что компилиться такой проект не будет в 1.6
Anonymous
Ааа, ну то есть язык не менялся, прост добавили модули в стандартную поставку.
ваши вкусы специфичны
Aleksandr
Anonymous
Как сейчас модно говорить:
лайфхак - копируешь исходники контекста из go 1.8 в go 1.7 (p.s. трюк выполнен профессионалами, не повторяйте дома).
Vladimir
Vladimir
Прямая - нет
Dmitriy
Например?
"context" пакет, который ввели в строй
ainu
а часть с < 1.8
Ага. Если гуглить как получить pwd (текущую директорию), наткнешься на стековерфлоу, где написано отныне юзайте os.Executable()
Ктото прочитает, ктото запомнит
ainu
А это Executable тоже не сразу появилось
Vladimir
Например?
В каждом релизе по мелочи. Например в http сервере в 1.7 стало больше таймаутов разных. Множество тестов одной функцией в 1.7 появилось
Vladimir
context выше упомянули