@proGO

Страница 424 из 1674
Denis
22.01.2017
20:18:06
Вот это уровень)

Kirill
22.01.2017
20:18:38
сделай структуру на 8 байт
все равно не спасёт

kuznetsovin
22.01.2017
20:21:10
Насколько я помню copy может память поджирать

Там есть какой-то ньюанс но вот не помню какой

Google
Subbotin
22.01.2017
20:21:53
счас попробую просто по индексам приравнять. мне не сложно

One
22.01.2017
20:22:23
народ, посоветуйте шонить по го паттернам

я за него только взялся, синтакис вроде несложный

Denis
22.01.2017
20:23:34
All keys

Capacity установлен ?

Subbotin
22.01.2017
20:24:36
Насколько я помню copy может память поджирать
внезапно полегчало. стало 500 вместо 650

но все равно много

Denis
22.01.2017
20:24:59
А не , в коде у тебя динамика

Он автоматом запасает память при аппенде

+ 1/3 сверху

Или что-то вроде того

kuznetsovin
22.01.2017
20:25:57
Denis кстати прав

Denis
22.01.2017
20:26:10
Попробуй с конечным капасити

Google
Denis
22.01.2017
20:26:14
И без аппнда

А по индексу

Вставлять значения

Subbotin
22.01.2017
20:26:46
да. капасити сильно больше length

Kirill
22.01.2017
20:26:48
+ 1/3 сверху
вообще будет ресайз до cap == следующее простое число

Denis
22.01.2017
20:27:22
Там у них в коде формула интересная

Subbotin
22.01.2017
20:28:14
проблема в том что заранее сложно прикинуть, но счас попробую захардкодить для теста

Richard
22.01.2017
20:29:07
@Holoview Привет! Советовать не могу, но есть такая ссылка https://github.com/AlexanderGrom/go-patterns

Richard
22.01.2017
20:31:11
@Holoview Принято :)

Subbotin
22.01.2017
20:31:13
Попробуй с конечным капасити
да. так получился оверхед ровно в 2 раза. - осталось понять откуда он.

Denis
22.01.2017
20:32:06
Он автоматом запасает память при аппенде

Можно исходники гошки глянуть

Так понятнее станет

Запасает чтобы каждый раз не просить систему за память

Subbotin
22.01.2017
20:33:55
это я понял уже.

Kirill
22.01.2017
20:38:26
факт, о котором не задумываешься, пока тебе не скажут: а ведь в коде определения append() используется append()

Denis
22.01.2017
20:43:32
Скинь сэмпл

Может там подвох:)

Roman
22.01.2017
20:48:52
факт, о котором не задумываешься, пока тебе не скажут: а ведь в коде определения append() используется append()
Слушай, как великий специалист по коду языка скажи насколько слайсы медленнее массивов?

Google
Kirill
22.01.2017
20:49:38
Roman
22.01.2017
20:51:40
На задаче буфера в памяти на 1 гбайт. Что то типа кольцевого буфера

Kirill
22.01.2017
20:55:18
ну, ты же ресайзить его, получается, не будешь. а значит он должен быть практически такой же.

Roman
22.01.2017
20:56:35
Почему не буду? Если на массивах то делать придется буфера и управлять ими, а если сплайсы - оно типо само

Kirill
22.01.2017
20:57:28
ну, если будешь ресайзить — то на время ресайза будет просадка.

https://github.com/golang/go/blob/master/src/runtime/slice.go#L82

Subbotin
22.01.2017
20:58:42
да. так получился оверхед ровно в 2 раза. - осталось понять откуда он.
всем пофиг конечно но оверхед взялся на том как я эти данные читал из файла.

One
22.01.2017
21:01:11
переменная чтоль размером была не байт?

Kirill
22.01.2017
21:02:20
Это я понимаю как раз!
ну. а в остальном практически то на то и будет.

Roman
22.01.2017
21:02:27
Был глупый вопрос - надо делать как проще, потом запускать профайл

Давай лучше спрошу твой любимый вопрос

Roman
22.01.2017
21:04:20
Если делать многопоточность - наколько будет проседать производительность с потокобезопасными структурами - map, slise, arrays ?

Kirill
22.01.2017
21:05:00
а смотря на каком уровне потокобезопасность обеспечишь

если рантайм поправишь — можно сделать без проседаний

Roman
22.01.2017
21:05:58
все стандартно

Kirill
22.01.2017
21:06:19
все стандартно
что ты под этим подразумеваешь?

Denis
22.01.2017
21:07:00
Где править?

Roman
22.01.2017
21:07:00
что ты под этим подразумеваешь?
стандартную библиотеку, стандартные паттерны

Kirill
22.01.2017
21:07:26
Где править?
по-своему для каждого типа.

Google
Denis
22.01.2017
21:08:00
Это совместимо с обычным го?

Kirill
22.01.2017
21:08:18
стандартную библиотеку, стандартные паттерны
если ты о структуре с rw lockом, то просадка будет серьезной

Roman
22.01.2017
21:08:45
Kirill
22.01.2017
21:08:47
Это совместимо с обычным го?
такие правки? ну, у меня всё после таких правок работает. а вообще зависит от того, кто эти правки делает.

Roman
22.01.2017
21:08:51
Боже

Зачем вам локи ?

Ну кольцо же

Kirill
22.01.2017
21:09:20
ты упустил изменение темы

Roman
22.01.2017
21:09:26
Это совместимо с обычным го?
Смотри, он тебя совратит

Admin
ERROR: S client not available

Denis
22.01.2017
21:09:39
Мне интересен патч в оф го репу

Они их уже принимают

Kirill
22.01.2017
21:09:51
Смотри, он тебя совратит
да @pifagorych вроде как был уже у нас в чате

Мне интересен патч в оф го репу
не будет такого никогда

https://github.com/golang/go/issues/17043

Denis
22.01.2017
21:14:03
Ответ конечно интересный

Жду форк)

Kirill
22.01.2017
21:15:01
Ответ конечно интересный
с этого вообще Goodlang и начался, по большому счету.

вернее — тогда я стал планировать вот это всё

Roman
22.01.2017
21:15:38
We will not be supporting concurrent write+write or read+write map updates in the standard library, in any package. We will not support them in our house, We will not support them with your mouse. We will not support them here or there, We will not support them anywhere. We kinda support them, in an atomic.Value box, We will not support them in Firefox. We will not support them in a car, ... (please, no unsafe in automotive systems..)

Google
Roman
22.01.2017
21:16:01
Я вдохновлен!

Denis
22.01.2017
21:16:10
Реп

There anywhere

Box Firefox

Норм же

Kirill
22.01.2017
21:17:18
Реп
я это всегда читал с выражением, как сверх серьезный стих

Roman
22.01.2017
21:17:37
Может кто на бит положить?

Quet
22.01.2017
21:17:43
норм ответ, посмеялся когда встал его )

Kirill
22.01.2017
21:18:06
Может кто на бит положить?
я вообще музыкант.

Denis
22.01.2017
21:18:37
Я тогда танцор

Ну в смысле серьезно ?

Roman
22.01.2017
21:19:56
А я пиво люблю. Могу прийти на ваше выступление и покричать :)

Kirill
22.01.2017
21:20:22
я вообще музыкант.
я на днях упоролся и записал это в опыт работы в своё резюме

Roman
22.01.2017
21:21:11
Так на чем мы остановились? Чтение безопасно для всех структур? Что то типа этого написано было в issue.

Kirill
22.01.2017
21:22:50
для этого и приходится rwlock таскать

это и раздражает в Go

Quet
22.01.2017
21:30:01
да нормальный tradeoff )

Kirill
22.01.2017
21:30:27
не нормальный

Roman
22.01.2017
21:32:08
Кирилл, эта проблема только для мапов или всех структур в Го?

Kirill
22.01.2017
21:32:40
по структурам не помню. вроде как со структурами такой фигни нет.

Daniel
22.01.2017
21:59:08
это и раздражает в Go
первая версия явы вышла с полностью сихронизированными (замутексованными) структурами данных. HashTable, Array, вот это вот все уже к версии 1.2 им пришлось сделать параллельные структуры, без мутексов. HashMap, ArrayList, вот это вот все. потому. что программер все же лучше знает, когда надо делать lock, а когда сойдет и так.

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