@gogolang

Страница 1188 из 1630
Alexander
26.06.2018
15:13:54
кстати, никто не в курсе на счет badger - что будет когда память закончится? он умрет? или начнет свапать на диск?

Alexander
26.06.2018
15:45:09
Всем привет! Для чего может быть использован указатель на мапу ? (*map[string]interface{}, например)

Michael
26.06.2018
16:06:08
для указателя на мапу

Dmitri
26.06.2018
16:10:03
Так мапа же вроде и так указатель?..

Google
Alexander
26.06.2018
16:12:15
Так мапа же вроде и так указатель?..
Так и есть, просто увидел нечто подобное в коде и не могу понять какой профит можно получить от указателя на мапу (ссылочный тип).

Dmitri
26.06.2018
16:13:17
Тогда присоединюсь к вопросу

Michael
26.06.2018
16:29:39
мапа это структура с заголовком и указателем на данные

мапу передавать указателем - видимо хотят изменять саму переменную

а вот надо или нет - без примера не понятно

Vlad
26.06.2018
16:33:33
https://habr.com/post/329254/

Краткий итог : "Здесь я определил два метода и две функции роста мапы, по значению и по указателю. " Результат одинаковый

У меня тоже есть вопрос, возможно уже задавался. Почему выведет сначала "Hello", а потом "Meow". Я думал должно быть 2 раза "Meow"

https://play.golang.org/p/JGOY_A5rFrD

отсюда взято https://habr.com/post/276981/

Илья
26.06.2018
16:37:53
https://play.golang.org/p/JGOY_A5rFrD
при создании итерфейса ты же передаешь стрктуру, в интерфейсе будет копия структуры

Google
Илья
26.06.2018
16:38:09
был бы указатель, был бы мяу

Vlad
26.06.2018
16:38:49
т.е. itable хранит ссылку на копию структуры?

просто я там увидел, что type iface struct { tab *itab data unsafe.Pointer } data — указывает на фактическую переменную с конкретным (статическим) типом

Илья
26.06.2018
16:41:05
т.е. itable хранит ссылку на копию структуры?
да, только не в itab, а берется копия и указатель на нее кладется в data

Timophey
26.06.2018
17:12:21
всем привет, подскажите пожалуйста, каким алгоритмом эффективнее складывать изображения ? типа если есть 10 слоев, и их нужно в определенном порядке накладывать друг на друга. трехмерная матрица из всех слоев не помогла, медленно работает, делаю стандартной либой image/png.

может кто-то сталкивался с таким, и знает какой-то быстрый способ

в основном являются оберткой над image/png

а там очень медленный Encoder

Daniel
26.06.2018
17:13:27
Быстрый способ чего?!

Ну так энкодер же один раз вызывается

Timophey
26.06.2018
17:13:59
ну правильный алгоритм для склеивания изображений

да, но он 600 мсек работает (

Daniel
26.06.2018
17:14:45
Видимо, большая картинка

Timophey
26.06.2018
17:14:57
3000*3000

Daniel
26.06.2018
17:15:29
И при чем тут сложение?

Timophey
26.06.2018
17:15:42
просто мне видимо теории не хватает(

ну у меня есть части предмета

10 слоев, на каждом слое отдельная часть предмета

и я их должен склеить в определенном порядке, чтобы получить целый предмет

картинки с частями имеют могут быть разных видов

Google
Daniel
26.06.2018
17:17:00
3000*3000*10=90М

Timophey
26.06.2018
17:17:15
ну да

смогу наверное ужать до 1500

Daniel
26.06.2018
17:17:30
Уже не будет быстро, что ни делай

Timophey
26.06.2018
17:17:41
но все равно алгоритм нужен

Daniel
26.06.2018
17:17:51
Но энкодер тут при чем?

Timophey
26.06.2018
17:17:54
сейчас вся операция занимает 1.5 сек

энкодер 600 мсек отнимает

потом чтение из базы

и декодер тоже где-то также (

я сделал вот так for y := 0; y < Size; y++ { for x := 0; x < Size; x++ { for i := range layers { clr := layers[len(layers)-i-1].At(x, y) _, _, _, a := clr.RGBA() if a > 0 { result.Set(x, y, clr) break } } } }

в трехмерной матрице, если на слои смотреть сверху в нужном порядке

Timophey
26.06.2018
17:20:03
беру тот пиксель который ближе всего к смотрящему

Egor
26.06.2018
17:20:21
Привет, подскажите, кто какую di библиотеку использует?

Nik
26.06.2018
17:22:09
есть смыл ставить на nginx в сторону go сервера хедеры keepalive? proxy_set_header Connection "Keep-Alive"; proxy_set_header Proxy-Connection "Keep-Alive";

Timophey
26.06.2018
17:22:33
Если кто-то знает хороший алгоритм, для склеивания слоев изображений, поделитесь, пожалуйста, там как-то через побитовый сдвиг можно вроде, с использованием маски

Alexander
26.06.2018
18:01:24
Вряд ли тут именно в алгоритме затык. Скорее всего, конвертации типов и перевыделение памяти в функциях At и RGBA. Просто картинки в виде массивов чисел получить нельзя?

А вообще - профайлер в помощь

Timophey
26.06.2018
18:39:20
https://github.com/golang/go/issues/15759

Передал как у него, но только хуже стало(

Google
Timophey
26.06.2018
18:39:57
Без выделения памяти

Попробую на c++ написать)

Kaspar
26.06.2018
18:43:52
Пример можешь пошарить? Люблю профайлер ковырять

Антон
26.06.2018
18:58:08
Попробую на c++ написать)
Ну кстати интересно будет результат сравнить. Плюсовый компилер скорее всего сможет заюзать векторные инструкции

Я щас все ищу инфу на тему векторизации инструкций в го

Но походу этой оптимизации нет

Для числодробилок и обработки изображений это достаточно важно

Admin
ERROR: S client not available

Антон
26.06.2018
19:02:01
В го я видел только ручную оптимизацию для aes и crc, там юзается расширенный набор команд современных процов, но функции написаны прямо на asm

Mykyta
26.06.2018
19:02:33
Привет, подскажите, кто какую di библиотеку использует?
https://github.com/chrisehlen/knex Вроде васяном сделана, но работает же

Egor
26.06.2018
19:02:58
Спасибо, гляну)

Timophey
26.06.2018
19:03:34
Mykyta
26.06.2018
19:03:51
Спасибо, гляну)
Я вообще все подумываю свой di контейнер запилить

Kaspar
26.06.2018
19:04:28
Пример текущей сборки?
Кусок кода где 1.5 сек и 1 пример исходных изображений

Или их данные

Egor
26.06.2018
19:05:21
Я вообще пытаюсь найти что нибудь похожее на свифтовый Swinject

Timophey
26.06.2018
19:05:23
Там только данные из mongo сразу забираю бинарные)

Mykyta
26.06.2018
19:05:31
Но го накладывает серьезные ограничени, потому что-то типа Autofac не получиться, либо будет слишком медленным, либо вон то, что есть

Антон
26.06.2018
19:08:09
Попробую на c++ написать)
Можно, кстати, еще gccgo попробовать. Он может применить свои оптимизации для вычислений (тоже в сторону векторизации). Если сможет правда

Google
Timophey
26.06.2018
19:09:22
Интересно тоже) попробую

Вообще наверное лучший вариант тут это opencv, и c++

Но это же все собирать нужно, devops ругаться будет)

Антон
26.06.2018
19:12:03
Не, проверь как подсказал коллега выше пррфалером, если лишних выделений памяти нет и проблема в математике, то попробовать gccgo. Ну если тоже нет, то си

Но это же все собирать нужно, devops ругаться будет)
А на каком проце тестишь/будешь запускать?

Timophey
26.06.2018
19:17:54
i5 2.2G

На сервере стоит E5 4 ядра, работает медленнее на 30% примерно

Антон
26.06.2018
19:19:25
Поколения еще надо смотреть

А вообще, imagemagick такое не умеет?

Kaspar
26.06.2018
19:34:51
И да начнётся челенж по оптимизации!

Timophey
26.06.2018
19:35:15
Или их данные
https://pastebin.com/qDce1gj2

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

png 3000*3000

с прозрачным фоном

Kaspar
26.06.2018
19:36:11
Принято. Размеры, формат, разрядность?

Конструктор товара с настраиваемыми элементами?

Timophey
26.06.2018
19:37:30
нет )

А вообще, imagemagick такое не умеет?
фишка в том чтобы быстро генерить такие изображения, максимально быстро, imagemagick может, и большая половина библиотек это обертки над ним. но он не так хорошо справляется

Страница 1188 из 1630