Aleksandr
неправильно делаешь что-то. имя корневого пакета + util.
Aleksandr
Anonymous
выше)
это смотря с какой стороны посмотреть)
Anonymous
Sergey
Диёр
Anonymous
с очень большой базой
Anonymous
700 таблиц
Anonymous
без связей а таблицах
Anonymous
Roman
парни, а может кто-нить с профайлингом бенчмарков разобраться?
Roman
вот код бенча https://pastebin.com/1Ppj0Zfq
Roman
вот так запускаю бенч
Roman
go test -bench=. -benchmem -memprofile memprofile.out -cpuprofile profile.out
Roman
запускаю pprof: go tool pprof memprofile.out
Roman
вот такой вывод
Roman
Local symbolization failed for tcpclient.test: open /tmp/go-build517695885/b001/tcpclient.test: no such file or directory
Some binary filenames not available. Symbolization may be incomplete.
Try setting PPROF_BINARY_PATH to the search path for local binaries.
File: tcpclient.test
Type: inuse_space
Time: Sep 16, 2018 at 3:16pm (MSK)
Roman
как побороть?
Messer
Вроде как там нужно ещё указать параметром название бинарника
Roman
бинарник чего, самой программы, бенч функции которой делаю?
Messer
go tool pprof ./your_bynary ./pro/cpu.pprof
Messer
А что за формат .out? Профилирование .pprof формат
Roman
да расширение там точно пофигу
Pavel
Roman
go version go1.10.1 linux/amd64
Roman
указал путь к бинарнику сообщение исчезло
Pavel
Вроде если бинарник скомпилен такой версией, то все символы в профайле уже быть должны.
Roman
самой функи, которую в бенче тестирую в выводе нет
ketamine ranch
Как можно спарсить one to many в структуры в го без орм?
Daniel
Без orm парсинг построчный
ketamine ranch
type User struct {
name string
Items []Item
}
type Item struct {
name string
}
тип такого?
ketamine ranch
в два запроса придется делать?
ketamine ranch
сначала получать юзера а потом на втором запросе все его итемы
Stanislav
Daniel
Евгений
Народ - поясните пожалуста что такое Context? Он-же backgroud context и.т.п.
Евгений
Часто вижу в вэб приложениях но так и не разобрался что да как
Anonymous
чтобы в холостую не работать
freezlite
accountManagerController := controllers.NewAccountManager(db)
accountManagerController.InitRoutes(authRouter)
Насколько это раковая опухоль от 1 до 10
Евгений
Anonymous
freezlite
я решил репозиторий инициализировать в контроллере
Anonymous
freezlite
func NewAccountManager(db *gorm.DB) *AccountManager {
return &AccountManager{
Repository: postgres.NewAccountManager(db),
}
}
Anonymous
freezlite
я рефакторю, не хуже чем была
freezlite
был вообще треш
Евгений
freezlite
@cryptstal на самом деле меня конкретно смущает имя контроллер, я как пыхарь который в го перешел
freezlite
паливно
Anonymous
freezlite
у меня болезнь перфекционизма
Anonymous
в основном конечно это handler
freezlite
бывало что я тестовое задание проваливал из за того что не знал как назвать
freezlite
но спасибо
Roman
парни, кто может онлайн с профайлингом помочь разобраться?
Anonymous
Roman
ну да, я немного выше описал, что делаю, у меня вполне конкретный вопрос есть, почему я не вижу в результатах top функу, которую проверяю в бенчмарке
Roman
внутри функции бенчмарка нужно, что-нить типа pprof.WriteHeapProfile(f) писать?
Roman
Roman
нене, с этим я разобрался, он создает в моем случае бинарь tcpclient.test и я указываю этот бинарь при запуске go tool pprof
Anonymous
уже видел?
Roman
ага, но это не пробовал, не думаю, что это причина того, что я функи в выводе не вижу
Roman
сейчас попробую, но чет сомневаюсь сильно, что это как-то повлияет
Anonymous
а графику строил? мб функция до топа не дотягивает?
Anonymous
мб её сами бенчи перебивают
Roman
полную не строил
Roman
врядли у меня там куча массивов по 32 байта создается, думаю, что полюбому должна была бы вылезти
Roman
а кстати, там в отдельной горутине чтение из канала происходит, это не может ни как повлиять?
Pawel
Pavel
Сап
Pavel
Посоветуйте какую взять задачу для учебного проекта
До этого писал простейшие утилиты типа того что обычно на баше пишется
Хочется заюзать конкаренси фичи го