
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
Тогда присоединюсь к вопросу

Илья
26.06.2018
16:27:31
для слайса я бы еще понял

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

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

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

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

Timophey
26.06.2018
19:03:34

Mykyta
26.06.2018
19:03:51

Kaspar
26.06.2018
19:04:28
Или их данные

Timophey
26.06.2018
19:05:01

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. Ну если тоже нет, то си

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
исходные изображения не могу предоставить - секретные )
png 3000*3000
с прозрачным фоном

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

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