@gogolang

Страница 209 из 1630
Daniel
31.03.2017
23:08:48
связано, конечно

Slava
31.03.2017
23:08:56
как?

N
31.03.2017
23:09:01
GOMAXPROCS никак не ограничивает количество тредов и никак с ним не связано
да вкурсе я. еще тогда и разобрался. как раз ты еще в слаке и отвечал на вопрос, что с этим бороться способа нет

Slava
31.03.2017
23:09:55
http://blog.panic.so/images/syscall.jpg

Google
Daniel
31.03.2017
23:10:51
как?
The GOMAXPROCS variable limits the number of operating system threads that can execute user-level Go code simultaneously.

то есть - тредов будет не меньше

N
31.03.2017
23:11:21
А сколько можно запустить одновременно процессов??
если имеется ввиду тредов на процесс то от ОС зависит. в части винды - в блоге марка русиновича древний пост есть как примерно посчитать, под Linux не встречал, но за кол-вом тредов я предпочитаю следить всегда

Slava
31.03.2017
23:11:36
ну да, не меньше, но верхняя граница не определена =)

Daniel
31.03.2017
23:12:57
мне случалось - в яве - запускать треды десятками тысяч

N
31.03.2017
23:13:00
ну да, не меньше, но верхняя граница не определена =)
прошел уже почти год, ты не встречал еще хотябы костыля, как прибить лишние процессы планировщика? Мало ли :)

Slava
31.03.2017
23:13:44
➜ ~ cat /proc/sys/kernel/threads-max 3095473

Daniel
31.03.2017
23:13:50
го - это всегда один процесс и в нем треды

Aleksey
31.03.2017
23:14:23
N
31.03.2017
23:14:33
Нет, всего можно запустить 1 процесс и в нем треды??? Например 2 ядра процессор
в нем треды, только ОС сама аффинити на процессор треду назначает, можно ручками, но в Go я такой фигней не занимался ни разу, в других ЯП как-то игрался прибивал к ядрам прям треды

мне случалось - в яве - запускать треды десятками тысяч
а потом происходит АД по КПД от таких алгоритмов, потоков дофига, а толку нифига как я это называю.

Google
Daniel
31.03.2017
23:15:55
не происходит

если все эти потоки по больше части ждут ввода-вывода - все ок

Slava
31.03.2017
23:18:37
запустить можно сколько угодно

N
31.03.2017
23:18:40
Это улучшенная версия multithreading(в которой можно запустить тредов, только сколько ядер )???
неа, не нужно путать понятие ниток, процессов ОС и реализацию внутренней кооперативной многозадачности в Go. По простому есть процесс ОС, в нем могут быть N-ниток ОС (треды), а в Go в этих нитках может исполнятся еще N-горутин конкурентно

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

Slava
31.03.2017
23:19:28
конкурентно != выполняться одновременно, один процессор может выполнять только один тред

N
31.03.2017
23:20:36
конкурентно != выполняться одновременно, один процессор может выполнять только один тред
ну а как же хитрухи типа HyperThreading и подобной технологии от AMD?) Вроде как один поток в одно время на одном ядре, а вроде как и не совсем один

а тьфу, ты про процессор - будем считать что кол-во процессоров это кол-во ядер которые отображаются в ОС для простоты и плевать на все эти технологии

а то человека запутать так можно

Aleksey
31.03.2017
23:22:36
ну если запустился, подождал ввода-вывода и сдох то норм, кроме потребления по памяти
О, это уже понятнее, а сколько можно запустить таких ниток, в 2х ядерном процессоре с линуксом на борту?

N
31.03.2017
23:23:01
cat /proc/sys/kernel/threads-max

но это тотал на ОС

если писать хочется на Go то с этим заморачиваться вовсе не нужно

запускаем много горутин и не думаем о нитках ОС вообще, за исключением тех случаев когда дергаем ручками системные вызовы из Go напрямую

Aleksey
31.03.2017
23:30:43
запускаем много горутин и не думаем о нитках ОС вообще, за исключением тех случаев когда дергаем ручками системные вызовы из Go напрямую
И если необходимо одновременно отправить 2 файла на 2 сервера , то для этого нужно будет выделить 2 нити?

Phil
31.03.2017
23:32:38
И если необходимо одновременно отправить 2 файла на 2 сервера , то для этого нужно будет выделить 2 нити?
Тебе тут уже с разных позиций описали - нить может быть вообще одна. Для всего вместе. Go сам разберется.

Google
N
31.03.2017
23:33:08
И если необходимо одновременно отправить 2 файла на 2 сервера , то для этого нужно будет выделить 2 нити?
одновременно не бывает. сетевой интерфейс выплевывает в порядке очереди в шнурок. если опять же по простому: сначало кусочек первого файла, потом кусочек второго, а вот прям одновременно - не бывает. Поэтому я вам предлагаю не заморачиваться с этими вещами вообще

Phil
31.03.2017
23:36:51
Да всё проще. google event driven

N
31.03.2017
23:41:48
Спасибо. под не одновременно подразумевается, что сначала выпоняется полная заливка одного файла , после очередь приходит ко 2му
теперь я понял что вы имели ввиду под понятием не одновременно. в случае Go создаем две горутины на передачу 2х файлов на 2 сервера и за Х времени они вместе уедут на 2 сервера. Не один за другим в порядке очереди, а конкурентно скажем.

N
31.03.2017
23:43:26
Без обид, но ваша аватарка меня дико пугает

Slava
31.03.2017
23:43:41
ну а как же хитрухи типа HyperThreading и подобной технологии от AMD?) Вроде как один поток в одно время на одном ядре, а вроде как и не совсем один
да там тоже только один процесс на процессор, просто часть вещей дублировано и кажется что логически их два

N
31.03.2017
23:53:26
да там тоже только один процесс на процессор, просто часть вещей дублировано и кажется что логически их два
да я понимаю все это, я имел ввиду что процессору побоку такие сущности ОС как треды - выполняет поток комманд. так вот hyper-threding это фактически два потока комманд к процессору и он их граммотно переключает. А раз их 2 потока, значит система может повесить на одновременное исполнение 2 треда на 2 логических процессора, которые являются одним физическим. В итоге твое утрвеждение что один процессор может выполнять один тред не совсем верно - два треда на два логических ЦПУ которые являются одним физическим. Более точно это то, что один физический ЦПУ не может выполнять больше 1й инструкции в один момент времени. Но все это болтовня по мне так сейчас с моей стороны :)

В мою писанину можно не вникать, это перед сном меня пробило порассуждать.

Daniel
01.04.2017
00:02:11
процессору, кстати, современному, не совсем по боку

я не помню подробностей, но современные ос договариваются с современными процессорами о том, что у них происходит

N
01.04.2017
00:02:46
процессору, кстати, современному, не совсем по боку
я знал что к этим моим словам можно зацепится) все верно, не побоку, но я упростил собстно и моменты опустил

там как-то хитро они делают оптимизации различные под ОС

ибо так прям чтоб я был в таких вопросах супер-компитентным я сказать не могу от слова совсем, поэтому и опустил. краем глаза где-то информацию встречал, принимаю на веру что там что-то происходит попимо моих простейших пониманий как это работает

предпочитаю не лезть в дебри, а представления свои основывать на опыте работы с простейшими цпу типа AVR контроллеров или Cortex-M3 которые где-то у меня валяются дома. Подцепил внешний тактовый генератор к AVR и больше одной инструкции за такт там не бывает, договоренностей с ОС там тоже никаких нет - все как на моем спектруме в детстве, просто и понятно. А что там внутри навороченных современных ЦПУ происходит я понятия не имею честно говоря

Daniel
01.04.2017
00:10:20
я бросил читать справочники по ассемблерам на i386

на i386 все было ровно так - один такт, одна (максимум) инструкция

сейчас там все иначе

сейчас там кеш, предсказатель ветвления, dma и vtx

и хинты предсказателю

Google
N
01.04.2017
00:16:44
я бросил читать справочники по ассемблерам на i386
была книжка у меня по 386 процессору вроде, или по 486му не помню уже, но я ее так и не осилил. спустя годы потянуло на микроконтроллеры что-то, пол года поигрался, пописал на ассемблере, Чек-ТВ мутил все (на COM выплевывается кассовый чек, накладывается контроллером на входящий видеосигнал с камеры наблюдения и на выход уже сигнал с наложенным поверх чеком, на полупрозрачном сером фоне таком), потом надоело. Хотя для разнообразия норм увлечение было.

Anton
01.04.2017
06:40:35
еее скалка

Ivan
01.04.2017
06:40:44
Кстати насчет вот иде , какая ваша любимая для скалы ?

Anton
01.04.2017
06:41:15
идея

Semyon
01.04.2017
06:41:32
у sbt неплохой авторелоад

Олег
01.04.2017
06:42:07
Та блин, весь список контактов перемещался, каждый групповой чат догадался переименоваться

Zhenja
01.04.2017
06:42:24
Кстати насчет вот иде , какая ваша любимая для скалы ?
раз такой день сегодня: Borland Developer Studio

Ivan
01.04.2017
06:42:24
Пойму это минус скалы что в виме с ней не очень

Semyon
01.04.2017
06:42:53
Пойму это минус скалы что в виме с ней не очень
да не, там же есть плагин какой-то навороченый для скалы

Олег
01.04.2017
06:42:54
ты о чем?
Я говорю, скала хороший язык

Semyon
01.04.2017
06:42:59
пацаны, а пойдемте в чят к гоферам троллировать?

Vadim
01.04.2017
06:43:21
о, будем монадировать монады, да не вымонадировывать

Semyon
01.04.2017
06:43:21
у них там даже дженериков нет!

Олег
01.04.2017
06:43:22
?

Ivan
01.04.2017
06:43:26
Хаха !

Олег
01.04.2017
06:43:34
Ivan
01.04.2017
06:43:48
А дайте ссылку на гоферов

Google
Олег
01.04.2017
06:43:59
Ivan
01.04.2017
06:43:59
Пойду к забавным схожу

Vadim
01.04.2017
06:44:36
все гочаты переименовались во что-то жвмное... гоферы латентные жависты?)))

Ivan
01.04.2017
06:45:00
Просто жвм лучше

Ilya
01.04.2017
07:03:36
Скала рулит жешь

Кондр
01.04.2017
07:08:37
Писал: — Соединение с весами на точке приема металлолома для импорта в CRM систему. Весы через COM порт — Разбор многомебайтового XML из SOAP. PHP 10 минут думал чтобы разобрать, golang секунд 10. — Прокси+система для выгрузки и загрузки данных из PHP сайта в 1C. — Програчный прокси сервер для замеров появления первого-последнего байтов. Использовалась между PHP и 1С, чтобы доказать что 1Сники долго отдают данные. — Очищалку watermark-ов на примерно 20000 картинок. — Рассылалку Chrome Web Push-ей. — Программу для управления Powerpoint презентацией с мобильника — Распознавалку на нейронных сетях. Просто баловался, до конца не довёл. — Рендер 3D файлов в png через рейтрейсинг. До конца не довёл. — Систему рассылки уведомлений через сокеты. Не дописал, взял готовую centrifugo (тоже на go). Пишу: — Базу данных с целями, схожими с тем, что умеет Elasticsearch. То есть поиск по фасетам, аггрегации. Работает быстрее эластика, на три порядка быстрее. В процессе написания. — CRM (xRM) система поверх вышеописанной базы данных. Под капотом JSON REST API на основе gramework, и фронтенд на React+Redux.
хренасе

Diskord
01.04.2017
07:38:03
так

теперь конфа обрела завершённый вид

Mars
01.04.2017
07:40:09
А что с названием чата и аватаркой?

Diskord
01.04.2017
07:40:23
скала лучше го

Решили перейти

santa
01.04.2017
07:41:34
А чё не Делфи?)

Андрей
01.04.2017
07:41:43
Я аж икнул. Потом вспомнил какой сегодня день ?

Kirill
01.04.2017
07:44:40
@twentydraft ?
Ага, надо было pro.generics называть

Страница 209 из 1630