@proGO

Страница 238 из 1674
Maxim
09.10.2016
15:31:47
если ты ее не заблокировал
Как понять что я заблочил горутину?

Evgenij
09.10.2016
15:31:53
Number of goroutines: 100000 Per goroutine: Memory: 2557.04 bytes Time: 50.893256 µs
Кстати по мэмори в эрланге близко к этому

Тоже 2 кб на единицу

Zver
09.10.2016
15:32:26
Как понять что я заблочил горутину?
На канале висит или мьютекс ждет.

Google
Maxim
09.10.2016
15:32:59
На канале висит или мьютекс ждет.
А, т.е. только при наличии каналов внутри, да?

Kirill
09.10.2016
15:33:05
не только

мьютексы тоже

Maxim
09.10.2016
15:33:34
Я о них впервые слышу. Это нововведение какое-то? ?

Kirill
09.10.2016
15:33:41
все, что блокирует поток до-когда-нибудь

Zver
09.10.2016
15:33:46
Это старовведение

Zver
09.10.2016
15:34:36
В гоу изначально и во всех многозадачных операционных системах изначально.

Zver
09.10.2016
15:36:02
Когда какой-то код нужно выполнить эксклюзивно. К примеру обращение к переменной.

Kirill
09.10.2016
15:36:28
А тебя 4х ядер или нет?
там же ограничение ставится, какая разница?

Evgenij
09.10.2016
15:37:00
там же ограничение ставится, какая разница?
Но чтото разница есть причем большая (

У меня откровенно слабая машина - а у тебя какая была для теста?

Google
Evgenij
09.10.2016
15:40:38
My - Per goroutine: Memory: 2557.04 bytes Time: 50.893256 µs Yours - Memory: 4536.84 bytes Time: 2.306914 µs

Slach
09.10.2016
15:42:40
ага понятно ну сами по себе они ничего не блокируют, но вот если внутри горутины идет какой то вечный цикл ну например из файла seek(0) делается а потом fread .. это затормозит остальные горутины или нет? ну или там просто идет обращение к какой нибудь глобальной в модуле переменной... будут тормоза?

Zver
09.10.2016
15:44:26
К глобальной переменной если обращаться, то лучше мьютекс использовать. А тормоза будет если нугрузить.

Точнее время процессорное отнимать будет. Только зачем делать seek(0)

Kirill
09.10.2016
15:45:13
Evgenij
09.10.2016
15:47:51
Первая попавшаяся: 4*2.8G i5, 6G RAM
Хм а тест тот же запускал (у меня GO 1.7)- если да то видно что на машине со слабым 2х проц 1ГБ память пытается меньше хавать но во времени теряешь )ИМХО

Kirill
09.10.2016
15:48:29
У меня 1.6.1 под рукой был

Evgenij
09.10.2016
15:49:34
Я под go version go1.7.1 linux/386

Kirill
09.10.2016
15:50:11
А я под 1.6.1 линупс/686

Zver
09.10.2016
15:50:35
Number of goroutines: 100000 Per goroutine: Memory: 9164.95 bytes Time: 5.040995 µs

Evgenij
09.10.2016
15:50:45
Хм поставь 1.7.1 посмотрим

Number of goroutines: 100000 Per goroutine: Memory: 9164.95 bytes Time: 5.040995 µs
Это на чём - интересно - Память много кушает

Zver
09.10.2016
15:53:28
Windows 10 64 и go 1.7.1

Проц i3 ноутбучный

Kirill
09.10.2016
15:54:17
Evgenij
09.10.2016
15:54:31
Интересно)За чёт %85 память больше?

Zver
09.10.2016
15:54:35
Да не о чем сожалеть. )

Evgenij
09.10.2016
15:55:43
Но 100000 горутин держит для десктопа я думаю ок))))

Zver
09.10.2016
15:55:45
На работе еще можно глянуть под виндой что покажет.

Google
Kirill
09.10.2016
15:56:16
Evgenij
09.10.2016
15:56:45
Так у меня и это десктоп
А у меня нетбук)))Тн слабый клиент)))

Zver
09.10.2016
15:58:10
Number of goroutines: 300000 Per goroutine: Memory: 9162.51 bytes Time: 9.978163 µs

и это при 4ГБ оперативки.

Evgenij
09.10.2016
16:03:38
Number of goroutines: 100000 Per goroutine: Memory: 2557.04 bytes Time: 6.077202 µs

runtime.GOMAXPROCS(2)

Zver
09.10.2016
16:05:05
Завтра загружусь под убунтой, гляну сколько там жрет гоурутина. Сейчас лень перегружться. )

Evgenij
09.10.2016
16:06:03
Так у меня и это десктоп
Попробуй runtime.GOMAXPROCS(4) интересно посмотреть)

Roman
09.10.2016
16:06:37
Тоже 2 кб на единицу
В Эрланге вроде 500 байт еачальной памяти

Kirill
09.10.2016
16:06:52
Попробуй runtime.GOMAXPROCS(4) интересно посмотреть)
У меня есть где 8 попробовать, если интересно

Evgenij
09.10.2016
16:07:06
В Эрланге вроде 500 байт еачальной памяти
Смотрел вроде 2 к хотя могу ошибаться

Kirill
09.10.2016
16:10:07
что-то у меня оно не запускается

Zver
09.10.2016
16:10:52
Поробуй runtime.GOMAXPROCS(4) если 4 ядер
Под виндой не захотел с четырьмя потоками, хотя псевдоядер 4. Выдал: failed to begin execution of all goroutines

Kirill
09.10.2016
16:11:07
с двумя: Number of goroutines: 100000 Per goroutine: Memory: 4534.22 bytes Time: 1.620194 µs

Evgenij
09.10.2016
16:12:58
Ну думаю глаза увидят закономерность) Memory: 2557.04 bytes Time: 6.077202 µs Memory: 4534.22 bytes Time: 1.620194 µs

Roman
09.10.2016
16:15:00
4 кбайта не на i386 случайно?

Kirill
09.10.2016
16:15:32
это вопрос к кому?

Google
Evgenij
09.10.2016
16:16:01
4 кбайта не на i386 случайно?
Верхний это 386 2 ядерная 1 гига машина

Roman
09.10.2016
16:16:03
К тому кто намерял

Kirill
09.10.2016
16:16:25
у меня 686

Roman
09.10.2016
16:16:31
Типа 64 bit vs 32 bit

у меня 686
Это тоже 32 бита вроде

Evgenij
09.10.2016
16:17:08
Типа 64 bit vs 32 bit
Ну это же быстрее не делает

Kirill
09.10.2016
16:17:21
Типа 64 bit vs 32 bit
сравнивать так нельзя. у меня проц быстрее.

Admin
ERROR: S client not available

Kirill
09.10.2016
16:18:16
Evgenij
09.10.2016
16:18:22
сравнивать так нельзя. у меня проц быстрее.
Мне например интересено как работает на разных платформах создание много горутин

Как завмсит памяит и тайм

Кстати если ставлю runtime.GOMAXPROCS(3) те > 2 ядра не запускается - паник

Zver
09.10.2016
16:30:55
У них атомарность не использовалась и каунтер не правильно считался.

Сейчас с 4 потоками запустилось

Тоько забыл поменять количество гоурутин по умолчанию, там тепеть 300 000.

Evgenij
09.10.2016
16:40:46
Ну сделай 100000 грутин посмотреть - выклади резальт тут)

Ну увидел что помнял -запусти и выкинь результат этой проги))

Phil
09.10.2016
16:43:23
коллеги, плейграунд давайте использовать

Evgenij
09.10.2016
16:45:58
Ну мы тут разные личные платформы смотрели для опытов))))

А так https://play.golang.org/p/urqni2IgfP

Google
Evgenij
09.10.2016
16:46:47
Это напрягает Memory: 2561.79 bytes Time: 0.000000 µs

Zver
09.10.2016
16:47:43
Там зверски быстрая машина? )

Evgenij
09.10.2016
16:48:31
Я думаю квантовая -седня опять про них почитал и ничего не понял(((

Zver
09.10.2016
16:49:30
Это нужно оооочень хорошо с математикой дружить.

Evgenij
09.10.2016
16:50:10
Это нужно оооочень хорошо с математикой дружить.
Не матан не поможет - если только анаша))))Кубиты и эн размерные вариаторы

corpix
09.10.2016
16:56:17
Там зверски быстрая машина? )
Не, мне кажется у них там кэш. Вот например https://play.golang.org/p/od_qP7xBsE Если менять размер буфера то значения будут разными, иначе - одинаковыми

Slach
09.10.2016
17:01:48
ой блин ... https://play.golang.org/p/mGjGO7WyGZ объясните в чем суть time.Format ??? как именно там Layout Задается? как на этом сделать аналог strftime %Y-%m-%d_%H_%i ???

corpix
09.10.2016
17:02:16
Ах, даже проще https://blog.golang.org/playground Кэширование результатов на фронте в memcached, даже добавленный комментарий приводит к перекомпиляции и переисполнению кода

Zver
09.10.2016
17:13:33
Оказывается там и рантайм модифицированный. Забавно :)
Специально для квантовой машины написанный. )

corpix
09.10.2016
17:18:00
Специально для квантовой машины написанный. )
Нет, для NaCl: To isolate user programs from Google's infrastructure, the back end runs them under Native Client (or "NaCl"), a technology developed by Google to permit the safe execution of x86 programs inside web browsers. The back end uses a special version of the gc tool chain that generates NaCl executables.

Kerrigan
09.10.2016
17:25:37
т.е. они грузятся прямо в браузер как расширение?

corpix
09.10.2016
17:28:02
Нет, NaCl умеет работать не только в браузере емнип. Как и написано в цитате сверху, используется кастомная версия gc тулчейна для генерации NaCl бинарей, которые потом на серверах плейграунда и выполняются

Чтото не убедил
Тогда убедит статья https://blog.golang.org/playground

Roman
09.10.2016
22:13:58
Number of goroutines: 100000 Per goroutine: Memory: 2791.61 bytes Time: 2.816758 µs

Страница 238 из 1674