@proGO

Страница 575 из 1674
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
reflect или unsafe смотреть
Там только вес типа

Я вот забыл, как это делать

Quet
30.03.2017
15:02:13
unsafe.Sizeof

zk
30.03.2017
15:02:20
reflect или unsafe смотреть
а вообще кто их юзает?

Kirill
30.03.2017
15:02:35
unsafe.Sizeof
Там только вес типа.

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
коллеги, а вам эта инфа зачем?

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?

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:27:29
А там разве примерно не равно сумме весов полей структур?
Если в детали не вдаваться то да, так и есть. Но нужно пройтись по всем этим полям и сложить их вес. Говорю же, walker'a такого не видел :)

Вячеслав
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
Ну да, для заранее известной структуры можно написать такой код очень легко. Но хочется скормить переменную какой-то функции, а та пусть посчитает, сколько эта конкретная переменная занимает места в памяти :)

Google
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
Это уже технические подробности
угу, а вопросы про память они не технические если ты хочешь получить сколь-нибудь полезную информацию, а не просто Х попугаев с которыми непонятно что делать то надо все же знать такие вещи

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
да прям. вот занимает твоя структура 8 байт а gc запросил у системы целую страницу (минимум) и что тебе даст знание что она 8 байт?
Это даст мне знание о том сколько конкретные данные в моей структуре занимают места, мне это и нужно. То как это ляжет в память меня не так сильно беспокоит, это уже отдельно можно посмотреть

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. кто может аргументировать этот момент?

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
нет

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

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

Roman
30.03.2017
16:47:43
а про какие "области памяти" ты говоришь?
Например, я хочу mmap'нуть файл и периодически звать msync.

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
что думаете про игры написанные на php, это круто? или вообще это норм применять php, для написания игр?)
апи для игры можно написать, будет работать и даже приносить деньги.

Sander
30.03.2017
18:58:43
ну да сайтики и апи

кто-то игры на go пишет?

а то игры писать можно но информации мало просто интерес

или лучше на java?

Kirill
31.03.2017
00:01:22
или лучше на java?
Цэплюсплюсжи

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

Sander
31.03.2017
07:00:22
шутники

насколько я вижу на го можно писать игры, но так как нет нормальных инструментов то скорей нельзя

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

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

Есть биндинги к opengl

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