
Paul
30.03.2017
14:56:36
из очевидного
js, _ := json.Marshal(test)
fmt.Println(binary.Size(js))
но делать каждый раз маршал для меня дорогостоящая операция

ainu
30.03.2017
14:56:55
Если приблизительно прикидывать, то можно в gob паковать и смотреть

corpix
30.03.2017
14:58:54
Не, ну это както попахивает. Точно можно через reflect+runtime, но нужен какойто walker, который по всем полям пройдет и не зациклится
Я такого не нашел

Google

zk
30.03.2017
14:59:04
reflect или unsafe смотреть

Kirill
30.03.2017
14:59:22
Я вот забыл, как это делать

Quet
30.03.2017
15:02:13
unsafe.Sizeof

zk
30.03.2017
15:02:20

Kirill
30.03.2017
15:02:35

zk
30.03.2017
15:02:48
я раз только юзал
на второй день изучения гошки, когда не знал что через range можно ключи словаря получить

Kirill
30.03.2017
15:04:58
О.о

Quet
30.03.2017
15:05:45

Daniel
30.03.2017
15:06:05
коллеги, а вам эта инфа зачем?

Kirill
30.03.2017
15:06:10

Quet
30.03.2017
15:06:13
это второй мой вопрос

Google

Kirill
30.03.2017
15:06:27

corpix
30.03.2017
15:17:03
коллеги, а вам эта инфа зачем?
Ну зачем мне знать размер выделенной памяти под определенные данные обычно?
Я вот хочу спрогнозировать рост потребляемой памяти в своей библиотеке

Daniel
30.03.2017
15:17:44
может быть - проще получить эту информацию от gc?

Quet
30.03.2017
15:17:53

corpix
30.03.2017
15:20:04
для этого есть всякие MemStats
Да, есть, но я хочу получить эту информацию проще. Мне в целом не понятно, почему в стандартной либе нет какой-то функции, которая может просто вернуть обьем занимаемой идентификатором памяти, когда у рантайма эта инфа есть

Quet
30.03.2017
15:20:39
"память занимаемая идентификатором" это немношк в маразм уход
для слайса ты хочешь размер его дескриптора или данных тоже? а если в данных есть указатель на что-то то учитывать размер того на что он ссылается или нет? а если несколько структур ссылаются на одно и то же это 1 раз считать или несколько?

corpix
30.03.2017
15:23:54
куда проще чем runtime.ReadMemStats ?
Ага, не хочу ничего знать о других аллоцированных участках памяти, меня интересует один конкретный идентификатор(переменная) в моей программе, остальное мне не нужно совсем

Quet
30.03.2017
15:24:36
чет кажется ты из пальца высосал задачу эту ща )

corpix
30.03.2017
15:25:10

Alexey
30.03.2017
15:26:05
Ну плюс указатель

corpix
30.03.2017
15:27:29

Вячеслав
30.03.2017
15:45:41
А какого вида структура??
Одна и та же или разные слайсы разных структур?

corpix
30.03.2017
15:52:01

Вячеслав
30.03.2017
15:53:37

corpix
30.03.2017
15:56:13
Ну да, для заранее известной структуры можно написать такой код очень легко. Но хочется скормить переменную какой-то функции, а та пусть посчитает, сколько эта конкретная переменная занимает места в памяти :)

zk
30.03.2017
15:59:39

Google

Quet
30.03.2017
16:00:25

corpix
30.03.2017
16:01:32

Paul
30.03.2017
16:01:54
у меня собираются в пачку и в монгу складываются тела писем. Изначально собиралось по 100, но оказалось, что это иногда превышает 16мб и монга обижается. Я хочу собирать до момента превышения размера бача и после записывать. Как-то так
js, _ := json.Marshal(test)
fmt.Println(binary.Size(js))
отлично делает то, что нужно, но делая это в 100 рутин у меня офигивает проц

Igor
30.03.2017
16:23:41
а ffjson/easyjson пробовали?
ну и рутин поменьше там, как вариант

Quet
30.03.2017
16:34:55
Это уже технические подробности
угу, а вопросы про память они не технические
если ты хочешь получить сколь-нибудь полезную информацию, а не просто Х попугаев с которыми непонятно что делать то надо все же знать такие вещи

corpix
30.03.2017
16:35:54

Quet
30.03.2017
16:36:41
да прям. вот занимает твоя структура 8 байт а gc запросил у системы целую страницу (минимум)
и что тебе даст знание что она 8 байт?

Вячеслав
30.03.2017
16:38:18
Ему нужно отловить размер самих данных а не сколько в ос выделено

Quet
30.03.2017
16:38:36
вопрос - зачем? где это применить потом?

corpix
30.03.2017
16:38:39

Quet
30.03.2017
16:38:49
"занимают места" где?
то как ляжет в память значит не беспокоит, а сколько абстрактного "места" занимает очень важно )

corpix
30.03.2017
16:41:52
Да, именно. Потому что то как данные лежат в памяти это особенность реализации ОС, я хочу просто прикинуть сколько структура может занять минимум, да абстрактно, но и чёрт с ним

Paul
30.03.2017
16:44:13
Igor, [30.03.17 19:23]
а ffjson/easyjson пробовали?
они крутые в плане того, что дают бОльшую скорость работы. Но процессор страдает в лучшем случае точно так же.
Igor, [30.03.17 19:24]
ну и рутин поменьше там, как вариант
уже 10. Полет нормальный. Но хотелось скорости) эх, хотелки

Sander
30.03.2017
16:45:15
------------
в курсах от codeschool, есть вопрос, под какие задачи подходит go lang.
netwrok, websites, games вроде 3 пункта было только.
---
правильный ответ network, games, но не websites.
кто может аргументировать этот момент?

Quet
30.03.2017
16:45:16

Igor
30.03.2017
16:45:17
ну так логично, что процессор страдает, вы ж не сеть с диском используете при сериализации/маршалировании %))
хочется скорости - будь готов пожертвовать процессором

Google

Quet
30.03.2017
16:45:29
понятия не имею правда зачем такое знание может пригодиться

Roman
30.03.2017
16:46:12
Скажите, а можно ли гошечке сказать где именно структуры размещать? В какой области памяти

Daniel
30.03.2017
16:46:37
нет

Quet
30.03.2017
16:46:52

Daniel
30.03.2017
16:47:05
про стек и хип

Quet
30.03.2017
16:47:23
да, это нельзя

Roman
30.03.2017
16:47:43

Combot
30.03.2017
16:47:52
combot.org/chat/-1001046001048

Admin
ERROR: S client not available

Quet
30.03.2017
16:48:16
такие вещи уже через cgo и в обход gc

Paul
30.03.2017
16:48:39
Igor, [30.03.17 19:45]
хочется скорости - будь готов пожертвовать процессором
это точно)

Roman
30.03.2017
16:50:17

Quet
30.03.2017
16:50:35
пиши на расте ) там нет gc

Sander
30.03.2017
18:02:21
что думаете про игры написанные на php, это круто?
или вообще это норм применять php, для написания игр?)

zk
30.03.2017
18:02:31
да

Sander
30.03.2017
18:02:53
просто у нас сенйор разработчик на php, сказал что на php можно вполне написать хорошую игру
я задумался ну сенйор разработчик, а может действительно он прав

zk
30.03.2017
18:03:04
пых в каждый дом

Олег
30.03.2017
18:04:55
игру на пыхе написать вполне возможно, на хабре вроде была статья когда-то
но что-то серьёзное на интерпретируемом языке, для которого ещё и тулкитов соответствующих нету, не получится

Google

Sander
30.03.2017
18:09:48
мне кажется иногда, что программисты на php, которые знают только один пых,
пытаются себя как-то защитить
хз
или просто выйебнуться людьям надо не понимаю

zk
30.03.2017
18:13:47
это как в Go -Обмазывайся в жабе своими дженериками
так и тут -Пых вообще мощь, даже в игры может, если готовить как труъ пых

dypa
30.03.2017
18:51:50

Sander
30.03.2017
18:58:43
ну да сайтики и апи
кто-то игры на go пишет?
а то игры писать можно но информации мало просто интерес
или лучше на java?

Kirill
31.03.2017
00:01:22

zk
31.03.2017
00:44:19

Dmitry
31.03.2017
06:53:04
js жи
Тогда уже лучше HTML

Sander
31.03.2017
07:00:22
шутники
насколько я вижу на го можно писать игры, но так как нет нормальных инструментов то скорей нельзя

Maxim
31.03.2017
07:08:19
Не сами игры

Sander
31.03.2017
07:08:43
ну серверный код игры

Олег
31.03.2017
07:09:47
Есть некоторое кол-во игровых движков для go, 2dшные. Правда, хз в каком они состоянии.
Есть биндинги к opengl

Maxim
31.03.2017
07:10:12