
Daniel
09.03.2018
21:16:48
я в яве делал такие фокусы с ByteBuffer, и там оно прямо решало. хоть и было, да, похоже на ручной менеджмент
а в гошечке пока не добрался

Vladimir
09.03.2018
21:17:36
в Гошечке сильно помогло бы если внутренние ручки которые дергает sync.Pool были доступны вовне

Daniel
09.03.2018
21:18:06
но если бы добрался - сделал бы то же самое на []byte и unsafe

Google

yuriy
09.03.2018
21:18:06
а переиспользование не помогает? без отдачи к GC

Daniel
09.03.2018
21:18:28
ну вот владимир не справился наладить переиспользование

Vladimir
09.03.2018
21:18:33
@onokonem ты вот знал что sync.Pool получает сигнал от runtime'а в момент stop-the-world и подчищает свои данные вручную? )

Daniel
09.03.2018
21:18:49
от тебя же, по-моему, и знал

Vladimir
09.03.2018
21:18:58
я ссылку на доклад про это постил

Никита
09.03.2018
21:19:49
Обясните пожалуйста, почему в данном примере ( да и вообще не раз видел) сделано type Queue []*int а не просто type Queue []int? зачем делать указатель на тип? https://play.golang.org/p/V5CJRKkjWi0

Daniel
09.03.2018
21:21:08
в этом примере к использованию указателя нет никаких показаний

Dmitri
09.03.2018
21:21:32
а можете рассказать в каких есть?

Никита
09.03.2018
21:21:35
а когда есть? В каких случаях так делают?
Я видел такое часто, но не понимаю зачем так делают

Alexey
09.03.2018
21:22:29

yuriy
09.03.2018
21:22:30
я так понимаю для того чтобы при вызове Push не выделялся еще один int
и Pop

Google

Daniel
09.03.2018
21:23:07
и при этом выделяется еще один *int, да

Никита
09.03.2018
21:23:47
так каков резон использовать такой подход?

yuriy
09.03.2018
21:23:57
знач никакого
4 байта туда 4 байта сюда
или 8

Daniel
09.03.2018
21:24:20
погодите
вот у нас есть нечто, и мы хотим отдать его наружу, чтобы там его модифицировали, и эта модификация отразилась у нас тоже. вот тогда мы используем указатель

yuriy
09.03.2018
21:25:49
да увидел. там return без возврата

Никита
09.03.2018
21:25:50
это понятно

yuriy
09.03.2018
21:25:52
в явном виде

Никита
09.03.2018
21:26:40
но я практически во всех реализациях стека, очереди, линкедлиста вижу подобное
указатели на Node и т.п.

Daniel
09.03.2018
21:26:57
ну вот, кстати, можно сделать в эту queue push, а потом поправить данные, что по указателю доступны. тогда и в этом примере появится повод использовать указатель

Никита
09.03.2018
21:27:40
А вообще - данный пример хорашая реализация?
через слайсы

Daniel
09.03.2018
21:27:50
говеная
массив, что под слайсом лежит, будет расти бесконечно

Никита
09.03.2018
21:28:40
он же растет когда стек переполняется
В данном случае
ну типа у нас есть capacity

Google

Daniel
09.03.2018
21:29:21
он растет, когда мы push делаем, а массив кончился. а вот сокращаться он никогда не сокращается

Никита
09.03.2018
21:29:37
а разве должен сокращаться?

Vladimir
09.03.2018
21:29:45
но зависит от того как реализовать
подход с ручным выделением памяти стандартный - похож на продвинутый вариант sync.Pool'а - ты выделяешь кусок памяти так чтобы GС его не пыталеся обходить
и сам выделяешь-возвращаешь память

Alexey
09.03.2018
21:33:27

Никита
09.03.2018
21:33:41
Да, они есть

Alexey
09.03.2018
21:33:44
https://golang.org/pkg/container/list - вот список нашл :)

Никита
09.03.2018
21:33:51
Угу
Но хотелось бы осознать и самостоятельно написать велосипед

Alexey
09.03.2018
21:34:23
книжка есть вроде

Alexander
09.03.2018
21:42:44

Daniel
09.03.2018
21:47:08
да ничего для него не поряно. весь гуй на нем.

Alexander
09.03.2018
21:47:10
Сколько тратится времени на запуск сишного кода из go, замерял кто-нибудь?

Daniel
09.03.2018
21:47:23
много кто замерял.
я вот тоже замерял вынуждено - zmq есть только в биндингах.
обнаружил, что я раньше выедаю гигабитную сеть, чем упираюсь в накладные расходы биндинга

Alexander
09.03.2018
21:48:45
Возможно такое что это время доходит до 100-300 мс?

Daniel
09.03.2018
21:48:55
что именно?

Google

Alexander
09.03.2018
21:49:39
Запуск сишной функции, передача параметров... время до момента выполнения
А то дали модельку tensorflow, описал работу с ней на go. В итоге вместо заявленных 200 мс, полное время работы занимает примерно 700мс

Daniel
09.03.2018
21:51:47
не думаю, что дело в накладных на вызов

Alexander
09.03.2018
21:52:52
Ок
Буду капать ;-)

Admin
ERROR: S client not available

yuriy
09.03.2018
21:55:37

кристина
10.03.2018
00:42:36
хотя туда всего такого комитет напихал в кресты

yuriy
10.03.2018
00:44:20
зато гц есть

Sparrow
10.03.2018
01:07:15
tl;dw ML на Go неоч сейчас

yuriy
10.03.2018
01:48:38

Marlik
10.03.2018
03:05:51

?
10.03.2018
03:27:14

FRD Official - Dmitriy
10.03.2018
03:28:21
Ещё бы на русском, было-бы здорово.))
Ну ты как будто в секте ни разу не был. ?
А если серьёзно евангелист в этом контексте - человек занимающийся продвижением платформы, знающий её тонкости, типичные приёмы, методологию разработки. И самое главное - может объяснить это все внятным языком, ответить на вопросы.
Ноооо есть и минус - Jack of all trades, master of none. По русски не так красиво звучит: "специалист по всему, профан во всем". Надеюсь, Данил не обиделся.


Marlik
10.03.2018
03:32:13
Ну ты как будто в секте ни разу не был. ?
А если серьёзно евангелист в этом контексте - человек занимающийся продвижением платформы, знающий её тонкости, типичные приёмы, методологию разработки. И самое главное - может объяснить это все внятным языком, ответить на вопросы.
Ноооо есть и минус - Jack of all trades, master of none. По русски не так красиво звучит: "специалист по всему, профан во всем". Надеюсь, Данил не обиделся.
Меня на русском интересует информация, тем более человека, который разбирается в этом, и да, он очень продвинут, зря вы так.

FRD Official - Dmitriy
10.03.2018
03:37:26

Michael
10.03.2018
06:22:08

Google

Marlik
10.03.2018
06:28:38
Люди, как в цикле по структурке пробежаться? По мапе знаю, а со структурой ещё не работал.

Эмин
10.03.2018
06:29:20
Гуглил?)
или лень?
https://stackoverflow.com/questions/18926303/iterate-through-the-fields-of-a-struct-in-go
первый результат в поиске

FRD Official - Dmitriy
10.03.2018
06:34:42

Marlik
10.03.2018
06:46:14
Епушки-воропушки! Неужто и до меня рефлекшен дошёл))
Спасибо, пошёл чидадь.

Эмин
10.03.2018
06:49:06
имейтей ввиду что рефлекция достаточно дорогая операция и по возможности лучше ее избегать

Marlik
10.03.2018
06:49:36
Вот думаю, может проще таки в мап пхнуть?

Эмин
10.03.2018
06:50:03
если есть возможность избежать итерации по структуре - я бы ею воспользовался

Dmitry
10.03.2018
06:52:02
Как проще решить задачу поиска не вошедших в одну мапу элементов, по сравнению с другой? Т.е. есть две мапы, надо найти элементы, которые есть в одной, но нет в другой
Пока я сделал два цикла и флажок

Marlik
10.03.2018
06:54:08

tsov
10.03.2018
09:43:59

Адам
10.03.2018
13:34:30
Ребят, я правильно понимаю, что на Go так никто и не придумал ORM, не вызывающую боль, после ORM из Rails и Django?
Больше двух связных табличек и разработка становится невыносимой

FRD Official - Dmitriy
10.03.2018
13:38:50