
Daniel
07.08.2018
21:11:08
нет такого, что ваш код работает ровно с той скоростью, с которой к нему обновления приезжают

Alexander
07.08.2018
21:11:20
Смотрите, я просто это же написал уже на всё практически.

Daniel
07.08.2018
21:11:41
я пока не понял, что вы меряете

Alexander
07.08.2018
21:11:56
Я просто смотрю на загрузку cpu

Google

Daniel
07.08.2018
21:12:23
а, то есть вы меряете ничего
смотрите, небойсь, top-ом

Alexander
07.08.2018
21:13:12
Ну я бы не сказал что это ничего . Там какое-то пустые loop что ли бегают? При том что проблема явно в записи.

Daniel
07.08.2018
21:13:17
который показывает вам хер знает что (реально, гляньте ему в код)
нет никакой проблемы

Alexander
07.08.2018
21:13:30

Daniel
07.08.2018
21:13:48
pprof на ненагруженном коде не показателен
ему просто данных не хватает для релевантных результатов
чет такое я и подозревал

Alexander
07.08.2018
21:14:51
Смотрите, я понимаю что проц может загружаться и без просадки производительности, но как правило корреляция есть.
Ок, вы хотите от меня чтобы я сравнил просто какой поток удаётся прогнать через go и что-то другое? Я сделаю.

Daniel
07.08.2018
21:15:29
что вы просто пользуетесь негодной методикой измерений (меряете top-ом нагрузку в районе 1%-2% user)
в этом диапазоне вы меряете погрешность

Google

Daniel
07.08.2018
21:17:00
которая, как известно, равна половине цены деления

Alexander
07.08.2018
21:17:05
Почему 1-2% user? User все же как раз 0-100
Опять же в профайле видно что это не что-то там, а именно runtime.scanobject

Daniel
07.08.2018
21:18:34
ваш код работает со скоростью поступления данных из вебсокета

Alexander
07.08.2018
21:18:35
Ok, если так не устроило, я тогда сделаю бенчмарк прогнав поток плотнее и замерив

Daniel
07.08.2018
21:18:45
сделайте

Alexander
07.08.2018
21:19:19

Daniel
07.08.2018
21:20:20
а как вы эти 75% намеряли?

Alexander
07.08.2018
21:21:09
top'ом - вы правильно написали.
Это конечно не самое точное измерение - согласен, но 2% от 100% вполне отличаются и в нём.

Daniel
07.08.2018
21:24:35
смотрите
я закомментил весь код работы с базой - у меня нет ни рефинка, ни монги

Ahmed
07.08.2018
21:25:10
Подскажите пожалуйста как можно сделать этот вариант более законным в GO
telegramConfig := config.TelegramConfig {
URL: os.Getenv("TELEGRAM_URL"),
TOKEN: os.Getenv("TELEGRAM_TOKEN"),
}
Думал смогу обращаться типа так telegramConfig.URL, а тут в GO нельзя так

Daniel
07.08.2018
21:25:15
и код ваш жрет ничего

Ahmed
07.08.2018
21:26:24
ну у меня данный код написан в main(), а обращаться хочу вообще в другой функции

Daniel
07.08.2018
21:26:48
а го тур вы прошли?

Ahmed
07.08.2018
21:27:00
половинку только)

Daniel
07.08.2018
21:28:06
ну вот так, как вы хотите, нельзя вообще ни в одном языке, где есть области видимости для переменных
и хорошо бы вай пойти, и почитать книжку какую-нибудь

Google

Daniel
07.08.2018
21:28:41
ну или пройти таки гоутур

Ahmed
07.08.2018
21:29:19
хм, понятно. Тогда я лучше изучу нормально материал и не буду соваться сюда с тупыми вопросами.

Alexander
07.08.2018
21:29:24

Daniel
07.08.2018
21:30:27
ну и ось какая у вас?

Alexander
07.08.2018
21:34:00
ubuntu 16
Проц надо посмотреть. Но опять же аналогичный код на ноде ест значительно меньше _с записью_

Daniel
07.08.2018
21:37:51
коллега, еще раз
вы меряете херню
и делаете на этом основании выводы
not smart at all

Alexander
07.08.2018
21:43:28
Ок. Если топ на 75% при записи это херня, то я перемеряю с какими-нибудь более простыми цифрами и пришлю сюда.

Daniel
07.08.2018
21:44:15
я в ваши 75% не верю
например - это вообще нагрузка, или именно go столько съело?
что у вас там с памятью и свопом?

Kirill
07.08.2018
21:48:13

Daniel
07.08.2018
21:49:55
атом еще может быть, первых выпусков
хотя - нет, атом, даже первых выпусков, все равно так много не потратит

Kirill
07.08.2018
21:53:57
а может, он на атари запускать научился? :)))

Daniel
07.08.2018
22:24:18
я в ваши 75% не верю
тем не менее - оказалось, что и правда 75%! и монга в докере при этом ест 100%
то есть - дело в монге и в работе с ней.
я не спец по монге (вообще ничего не знаю про нее)
но я уверен - тут есть спецы. скажите - что она такого делает на таких запросах, что и сама 100% есть, и еще 75% ее драйвер?

Google

Alexander
07.08.2018
23:12:15

Kirill
07.08.2018
23:57:38

Alexander
08.08.2018
00:03:31

Igor
08.08.2018
05:21:16
Стал изучать go. Написал код, разделил по файлам. Запускаю - undefined StructName. Гуглю. Нужно вызвать сачала go install. И не могу понять: он скомпилит и поставит пакеты, описанные в файлах в систему или в папку проекта?
go run *.go выдает что только нашел два пакета и все

Sergey
08.08.2018
05:24:45

Igor
08.08.2018
05:26:40

Sergey
08.08.2018
05:27:28
а, боже; я-то туплю
вы должны вызывать go run только на package main
go run main.go

Igor
08.08.2018
05:28:39
./main.go:29:14: undefined: YML_Catalog
у меня 3 файла

Sergey
08.08.2018
05:28:49
ну, исправляйте ошибки :)

Igor
08.08.2018
05:29:11
ну так я и справшиваю, как заставить видеть main.go все что в файле yml.go

Sergey
08.08.2018
05:29:24

Igor
08.08.2018
05:37:54
созда папку core, пихнул туда yml.go, пишу в main.go:
import "/path/core" но при сохранении эта строчка исчезает
не то это

Sergey
08.08.2018
05:39:06

Igor
08.08.2018
05:39:58
нет )

Google

Vladimir
08.08.2018
05:39:59

Sergey
08.08.2018
05:40:51

Bohdan
08.08.2018
05:43:42

Sergey
08.08.2018
05:44:06
Нет, после готур это ехать; а мне шашечки

Vladimir
08.08.2018
05:44:09
Go run is ... really only meant to be used on very small programs, which generally only need a single file.
=> go build && ./<executable>

Igor
08.08.2018
05:44:23

Vladimir
08.08.2018
05:44:37

Sergey
08.08.2018
05:45:02

Igor
08.08.2018
05:46:14
go build main.go yml.go
can't load package: package main: found packages main (main.go) and yml (yml.go)

Oleg
08.08.2018
05:46:53

Vladimir
08.08.2018
05:46:53
@ipozdeev просто напишите go build

Igor
08.08.2018
05:47:11
то же самое выдает

Vladimir
08.08.2018
05:47:12
у вас в yml.go package main тоже ведь указан?

Igor
08.08.2018
05:47:17
go build
can't load package: package .: found packages catalog (catalog.go) and main (main.go)

Vladimir
08.08.2018
05:47:44
тогда см. ответ выше о том, что нельзя в одной папке разные пакеты держать
в вашем случае main.go, catalog\catalog.go и yml\yml.go должно быть