Size: a a a

2021 June 21

RS

Roman Sharkov in Go-go!
попробуйте https://github.com/mailru/easyjson и было бы интересно узнать результаты бенчмарков по сравнению с encoding/json 😉
источник

DP

Daniel Podolsky in Go-go!
имеет смысл написать все с json.Unmarshal, и, есл pprof  покажет проблему, использовать кодогенераторы вроде easyjson.
источник

DP

Daniel Podolsky in Go-go!
но, повторюсь, json стал сильно быстрее за последние годы
источник

RS

Roman Sharkov in Go-go!
тем не менее, интересно насколько генерированый код быстрее стандартной рефлексии с лишними алокациями
источник

DP

Daniel Podolsky in Go-go!
на парочке последних моих случаев - вообще не был быстрее
источник

RS

Roman Sharkov in Go-go!
странно, но мусора создаёт, полагаю, больше
источник

RS

Roman Sharkov in Go-go!
@it_haisenberg в общем, ждём ваших результатов бенчмарка)
источник

ЯК

Ярослав Коробейников... in Go-go!
Там у кого-то другого проблемы с этим, мне просто было интересно что кодогенерация для жсона)
источник

RS

Roman Sharkov in Go-go!
@webdelo_org вернее ваших)
источник

DP

Daniel Podolsky in Go-go!
ну вот в доке easyjson есть подробности
источник

RS

Roman Sharkov in Go-go!
источник

RS

Roman Sharkov in Go-go!
я бы забенчил
источник

RR

Rokker Ruslan in Go-go!
Кто нибудь помнит почему go собирает бинарь с libc? Насколько я помню он использует только резолвер доменных имён. Но вот какая с этим была проблема не нагуглил.
источник

VY

Vladislav Yarmak in Go-go!
там в ридмихе бенчмарки пятилетней давности
источник

VY

Vladislav Yarmak in Go-go!
так можно собрать без libc
источник

RR

Rokker Ruslan in Go-go!
Я знаю да. Но не в этом вопрос. Просто интересно.
источник

VY

Vladislav Yarmak in Go-go!
резолвер libc может подключать какие угодно внешние модули резолва, заданные в nsswitch.conf
источник

VY

Vladislav Yarmak in Go-go!
помимо DNS, там может быть ещё резолв через WINS, NIS и так далее
источник

VY

Vladislav Yarmak in Go-go!
модули nsswitch подключаются динамической линковкой
источник

VY

Vladislav Yarmak in Go-go!
помимо модулей, в системе может быть ещё что-нибудь типа nscd, и тогда реализация резолва в libc сама идёт с запросом в сокет этого демона
источник