@proGO

Страница 1279 из 1674
xPushkin
09.03.2018
14:18:10
+
Объясните почему?

Marlik
09.03.2018
14:18:35
Вопроса не понял.

Daniel
09.03.2018
14:19:02
ну вот у меня по результатам измерений примерно та же сложилась картинка, что для мелких структур копирование быстрее передачи по ссылке.

Google
Marlik
09.03.2018
14:19:12
Если я правильно понимаю, то дешевле указатели хранить чем копипастить туды-сюды.

xPushkin
09.03.2018
14:19:13
Что, почему?
Почему лучше копировать чем передовать ссылку

Daniel
09.03.2018
14:19:19
я сделал себе зарубку выяснить вопрос глубже, когда время будет

Marlik
09.03.2018
14:19:53
Теоретически не должно копирование быстрее быть.

Daniel
09.03.2018
14:20:24
а практически - вокруг передачи указателя может быть барьер памяти и сброс кеша

с современными процессорами хер поймешь, что им хорошо, а что не очень

Daniel
09.03.2018
14:25:10
ага

xPushkin
09.03.2018
14:25:16
А что это?

Daniel
09.03.2018
14:26:02
use google, Luk

FRD Official - Dmitriy
09.03.2018
14:27:46
А что это?
Ну может быть копирование блока памяти дешевле, чем обращение по длинному адресу. Но надо курить рантайм.

Daniel
09.03.2018
14:30:15
но, скорее всего, вопрос в том, что по значению оно оказывается в кеше за один запрос в память, а по ссылке - за два

и даже косвенным образом можно померять, вроде бы, потери на ожидание данных из памяти

Google
Daniel
09.03.2018
14:31:11
в общем - надо бы раскопать

xPushkin
09.03.2018
14:40:25
https://github.com/jmhodges/copyfighter

Roman
09.03.2018
14:43:15
Если я правильно понимаю, то дешевле указатели хранить чем копипастить туды-сюды.
скопировать указатель конечно-же интуитивно кажется быстрее, однако Go GC замедляется по мере возраста колва указателей. Поэтому маленькие структуры, такие как webwire.Payload, в которой лишь слайс* и integer, лучше копировать * при копировании слайса копируется лишь маленький header а не сами данные

xPushkin
09.03.2018
14:44:55
Passing by value often is cheaper Even though Go looks a bit like C, its compiler works differently. And C analogy does not always work with Go. Passing by value in Go may be significantly cheaper than passing by pointer. This happens because Go uses escape analysis to determine if variable can be safely allocated on function's stack frame, which could be much cheaper then allocating variable on the heap. Passing by value simplifies escape analysis in Go and gives variable a better chance to be allocated on the stack.

Roman
09.03.2018
14:44:56
а практически - вокруг передачи указателя может быть барьер памяти и сброс кеша
да, нужно benchmark'ить, однако всегда придерживаюсь правила: если указатель не нужен - не загрязняй GC

FRD Official - Dmitriy
09.03.2018
14:45:05
Интересно копирование, реально копирует или copy on write?

Roman
09.03.2018
14:46:38
что касается escape analysis'а то да, однозначно лучше копия нежели указатель

Daniel
09.03.2018
15:07:06
это мерять надо

я с этим столкнулся на структурах в 256 байт

Daniel
09.03.2018
15:09:08
о. да

20 страниц мелким почерком

Daniel
09.03.2018
15:11:51
это шуточка была. я последнее, что осислил - 386

Ilnur
09.03.2018
15:23:09
https://www.coursera.org/learn/golang-webservices-1 https://www.coursera.org/learn/golang-webservices-2
кстати, зашел на этот курс и услышал, что го для реалтайма может не подойти, тут я вспомнил как на стачке в ульяновске кто-то рассказывал, что они сервер для игры писали на го

может не подойти из-за gc

Daniel
09.03.2018
15:23:46
где игры и где реалтайм

Google
Ilnur
09.03.2018
15:24:19
ну там ребята сервер для шутера писали

Daniel
09.03.2018
15:24:56
все еще ооочень далеко от реалтайма

Vladimir
09.03.2018
15:25:14
Вопрос в колличестве дополнительного секса

Я видел в одной конторе rtb с временем ответа (target) людям в 2мс на Ди (тоже с гц язык)

FRD Official - Dmitriy
09.03.2018
15:26:31
Vladimir
09.03.2018
15:28:15
это худшее время ответа?
Типа у них slo для клиентов - принять решение не более чем за 2мс было

Roman
09.03.2018
15:28:17
Ребятки, кто нибудь видел механизм очередей с такими критериями: - ограничение на максимальное количество заданий в общей очереди от одного пользователя (user ID); - и ограничение на максимальное количество одновременно выполняющихся заданий от одного пользователя. Есть что то готовое для таких условий?

Vladimir
09.03.2018
15:28:20
И язык с gc

FRD Official - Dmitriy
09.03.2018
15:28:24
а вот этого я не понял, там без подробностей
Воооот. Навскидку сколько геймсерверов вспомнишь под QNX или какой-нибудь LynxOs?

Daniel
09.03.2018
15:29:38
FRD Official - Dmitriy
09.03.2018
15:30:19
т.е. го для гейм сервера вполне подойдет?
Как и любой другой язык с GC или без. Это все вопрос архитектуры, к тому же боттлнеком всегда будет сеть

Ilnur
09.03.2018
15:32:32
где игры и где реалтайм
а какой реалтайм имеется в виду?) RTOS?

Vladimir
09.03.2018
15:33:55
т.е. го для гейм сервера вполне подойдет?
Емнип Eve online чуть ли не на питоне серверная часть

FRD Official - Dmitriy
09.03.2018
15:34:59
а какой реалтайм имеется в виду?) RTOS?
Судя по высказыванию именно классический реалтайм из RTOS. Задачи очень разные.

Roman
09.03.2018
15:35:36
непонятно какие структуры маленькие, а какие большие
it depends... но обычно я стараюсь всё что больше 32 байт передавать ссылкой, однако так-же не всегда

FRD Official - Dmitriy
09.03.2018
15:35:54
Емнип Eve online чуть ли не на питоне серверная часть
А сколько браузерок на похапэ - не перечесть

Google
Никита
09.03.2018
17:15:57
Подскажите, правильно ли реализован Selection Sort? play.golang.org/p/ucxhXmQr1jf

?
09.03.2018
17:40:31
Ilnur
09.03.2018
17:59:58
https://play.golang.org/p/6ZW2PtILXrp

[1:3] как-то странно работает

вырезает только два элемента, а капасити 3

Sergey
09.03.2018
18:01:03
вырезает только два элемента, а капасити 3
почитайте про слайсы и массивы.

Ilnur
09.03.2018
18:02:03
thnx, как раз разбираюсь с ними

C++ для такого есть
тогда уж раст, но го приятнее

Admin
ERROR: S client not available

Dmitry
09.03.2018
18:44:34
C++ для сервера... Мсье знает толк в извращениях.

Roman
09.03.2018
18:46:38
C++ говно. Даже Perl не такое говно как C++.

Dmitry
09.03.2018
18:48:17
Особенность языка C++ в том, что он гораздо чаще приводит к ошибкам, гораздо хуже работает с юникодом и всякими json. Т.е. сделать все можно, но сильно дороже.

FRD Official - Dmitriy
09.03.2018
18:48:43
C++ для такого есть
Увидимся в следующем столетии

Dmitry
09.03.2018
18:49:57
C++ станет юзабельным, когда они откажутся от обратной совместимости. Т.е. никогда.

Daniel
09.03.2018
18:50:43
С++ станет юзабельным когда завезут пакетные менеджеры.
какие такие пакетные менеджеры? там что, есть пакеты?

Google
xPushkin
09.03.2018
18:51:05
Daniel
09.03.2018
18:51:22
нетути такого понятия, пакет

и не будет, так уж язык устроен

xPushkin
09.03.2018
18:52:30
Менеджер зависимостей, либ

Sergey
09.03.2018
18:53:12
в го с этим так хорошо, ох...

FRD Official - Dmitriy
09.03.2018
18:54:22
С++ станет юзабельным когда завезут пакетные менеджеры.
Их уже как говна за баней, но они идеологически не нужны

Daniel
09.03.2018
18:54:24
они же никак не оформлены как таковые. есть .h, есть связанные с ним (на уровне "там такое же описано") .a и .sso. и все, никаких больше ограничений, швабода.

xPushkin
09.03.2018
18:55:38
они же никак не оформлены как таковые. есть .h, есть связанные с ним (на уровне "там такое же описано") .a и .sso. и все, никаких больше ограничений, швабода.
Вот нужно принять единый формат и делать менеджер как npm, pip, go get или как в java всякие мавены или градлы

кристина
09.03.2018
19:00:23
жаль с++ конечно . . .

это был мой любимый язык, но никогда не работала в продакшене на нем

Roman
09.03.2018
19:03:19
как говорил сам Строуструп: "существуют 2 вида языков программирования: те о которых все ворчат, и те, которыми никто не пользуется"

FRD Official - Dmitriy
09.03.2018
19:03:34
Вот нужно принять единый формат и делать менеджер как npm, pip, go get или как в java всякие мавены или градлы
А потом сидеть в отдадчике и о..евать. Откуда к тебе косяки прилетели... Для с++ пакетный менеджер называется git submodules

Sergey
09.03.2018
19:10:06
жаль с++ конечно . . .
а что с ним случилось? :)

Subbotin
09.03.2018
19:12:50
Он обречён. Го с растом его сожрут.

Max
09.03.2018
19:14:47
друзья . так вопрос - можно ли в GORM как-то один запрос сделать с local отличающейся от locale подключения к бд?

есть одна таблица где date хранится не так как везде

Andrey
09.03.2018
19:15:02
Он обречён. Го с растом его сожрут.
знаешь, это будет как с PHP, все говорят что он умирает вот вот, а нихрена так и с С++

Max
09.03.2018
19:15:08
в другой локале

FRD Official - Dmitriy
09.03.2018
19:18:35
знаешь, это будет как с PHP, все говорят что он умирает вот вот, а нихрена так и с С++
Не, у похапе совсем другая песня - там уровень вхождения низкий. А у плюсов, просто масса. Слишком много написано, и все это надо как-то поддерживать. Но когда эта масса будет вытеснена другими языками - исчезать он будет очень быстро

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