@proGO

Страница 1281 из 1674
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
в Гошечке сильно помогло бы если внутренние ручки которые дергает sync.Pool были доступны вовне
я могу ошибатся, но ручное управление как раз снизит производительность

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
это был мой любимый язык, но никогда не работала в продакшене на нем
В gamedev распространён, как для мобилок (cocos2dx) так и для десктопа (unreal)... так что не все потеряно для c/c++

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
В gamedev распространён, как для мобилок (cocos2dx) так и для десктопа (unreal)... так что не все потеряно для c/c++
так в этом анриале кресты такого старого стандарта, что даже касаться не хочется

хотя туда всего такого комитет напихал в кресты

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

Sparrow
10.03.2018
01:07:15
А то дали модельку tensorflow, описал работу с ней на go. В итоге вместо заявленных 200 мс, полное время работы занимает примерно 700мс
я сам не ничего такого не делал и этот видос смотрел достаточно давно, чтобы забыть, в чем там дело, но возможно поможет: https://youtu.be/lcyNjgEG9H8

tl;dw ML на Go неоч сейчас

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

FRD Official - Dmitriy
10.03.2018
03:37:26
Меня на русском интересует информация, тем более человека, который разбирается в этом, и да, он очень продвинут, зря вы так.
Ааа, я думал это была просьба высказаться более понятными словами. Ну на-то я и не евангелист ?

Michael
10.03.2018
06:22:08
какие такие пакетные менеджеры? там что, есть пакеты?
vcpkg: C++ Package Manager for Windows nuget как ни странно, и ещё чтото одно +- юзабельное было может с++ пакеты реинкарнируют в модулях

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 первый результат в поиске

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
если есть возможность избежать итерации по структуре - я бы ею воспользовался
Спасибо. Фича в том, что есть готовый проект json to struct, берёшь json пхаешь туды, и на выходе готовая структура. А вот с мапой придётся попотеть видимо, либо как m := make(map[string]interfaces{}) заюзать... чото такое.

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

Больше двух связных табличек и разработка становится невыносимой

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