Egor
Спасибо, гляну)
Nikita
Спасибо, гляну)
Я вообще все подумываю свой di контейнер запилить
kås
Пример текущей сборки?
Кусок кода где 1.5 сек и 1 пример исходных изображений
kås
Или их данные
Egor
Я вообще пытаюсь найти что нибудь похожее на свифтовый Swinject
Anonymous
Там только данные из mongo сразу забираю бинарные)
Nikita
Но го накладывает серьезные ограничени, потому что-то типа Autofac не получиться, либо будет слишком медленным, либо вон то, что есть
Антон
Попробую на c++ написать)
Можно, кстати, еще gccgo попробовать. Он может применить свои оптимизации для вычислений (тоже в сторону векторизации). Если сможет правда
Anonymous
Интересно тоже) попробую
Anonymous
Вообще наверное лучший вариант тут это opencv, и c++
Anonymous
Но это же все собирать нужно, devops ругаться будет)
Антон
Не, проверь как подсказал коллега выше пррфалером, если лишних выделений памяти нет и проблема в математике, то попробовать gccgo. Ну если тоже нет, то си
Антон
Но это же все собирать нужно, devops ругаться будет)
А на каком проце тестишь/будешь запускать?
Anonymous
i5 2.2G
Anonymous
На сервере стоит E5 4 ядра, работает медленнее на 30% примерно
Антон
Поколения еще надо смотреть
Антон
А вообще, imagemagick такое не умеет?
kås
И да начнётся челенж по оптимизации!
Anonymous
Или их данные
https://pastebin.com/qDce1gj2
Anonymous
исходные изображения не могу предоставить - секретные )
Anonymous
png 3000*3000
Anonymous
с прозрачным фоном
kås
Принято. Размеры, формат, разрядность?
kås
Конструктор товара с настраиваемыми элементами?
Anonymous
нет )
Anonymous
А вообще, imagemagick такое не умеет?
фишка в том чтобы быстро генерить такие изображения, максимально быстро, imagemagick может, и большая половина библиотек это обертки над ним. но он не так хорошо справляется
Anonymous
поэтому думал что пробег по трехмерной матрице будет лучше, но должен быть еще вариант какой-то именно с алгоритмом, может брать части кубики, и их как-то просчитывать ..
Daniel
Коллеги, ну что мы тут мусолим без профайлера
Антон
поэтому думал что пробег по трехмерной матрице будет лучше, но должен быть еще вариант какой-то именно с алгоритмом, может брать части кубики, и их как-то просчитывать ..
Да как бы задача сама по себе - перемножить три картинки. Тут две принципиальные оптимизации - не вычислять лишнее (если маска 0 или 1) и параллелить вычисления (как вообще по ядрам, так и в рамках одного ядра). Сам алгоритм больше никак не оптимизировать, имхо
Anonymous
ну вот я это и спрашивал )
Anonymous
короче брать маску получается, от изображения и по маске накладывать слои
Антон
Если очень очень очень быстро надо - можно на видяхе обсчитать. Там ядер много, можно хорошенько распараллелить. И тут уже пофиг на каком языке
Anonymous
было бы круто ) осталось только cuda изучить
Антон
Ага, тогда будет как ты говоришь - режешь на квадранты (по числу доступных ядер) и отправляешь на обсчет сразу кусок картинки
Anonymous
а кто-нибудь тут кстати с cuda уже работал из golang ?
Anonymous
Кто бы мог на cuda переписать алгоритм ecdsa + keccak256?
kås
А на проде есть видюхи?
Anonymous
пока нет ) но можно поставить думаю
Daniel
можно сразу с видео сервер арендовать
Daniel
но - по цене самолета, потому как их майнеры полюбляют
Anonymous
мы на digitalocean
Daniel
тогда мимо
Anonymous
но - по цене самолета, потому как их майнеры полюбляют
как-то брали такой сервак с nvidia1080, майнили на ней, там совсем мало выходит, 30$ за месяц всего накапало
Anonymous
но это еще до НГ было, осенью
Dmitry
для работы с постгрес несложными запросами пойдет https://github.com/lib/pq или может есть лучше ваирант?
Michael
супер
Michael
оно с любыми будет ок, всё зависит от ровности рук
Denis
разница в том, что в голанге можно работать с объектом через указатели или со значением на стеке. А в джаве - только с объектом по ссылке. И это большой плюс голанга
Не понял в чем разница. Может кто нибудь обьяснить? В джаве с непримитивами по ссылке, это понятно. Но в го указатели или ...? Типа напрямую работа с обьектом?
Nikita
Не понял в чем разница. Может кто нибудь обьяснить? В джаве с непримитивами по ссылке, это понятно. Но в го указатели или ...? Типа напрямую работа с обьектом?
В го указатели не совсем указатели. Указатель в го - это структура, которая хранит информацию о типе и уже непосредственно сам адрес в памяти. В го все, кроме слайсов, мап и функций передается по значению, если явно не передается по указателю
Denis
А мои структуры?
Denis
Ну я создаи структуру юзер и передам ее в ф-ю. Она прилетит по значению???
Denis
Если я не укажу что по указателю
Denis
Т.е. в функцию придет ее копия
Daniel
Именно
Sergey
Как в martini вырубить логирование запросов, установка MARTINI_ENV=Prod не помогла
Кириллл
Всем привет, прошлым вечером начал изучать го, и сразу столкнулся с тем, что Scanf ведёт себя не так, как ожидалось (в паскале, к примеру, программа ожидает ввода данных и после продолжает выполнение). Здесь же по неведомой мне причине - приостановление выполнения происходит только при первом вызове. Чяднт, в какую сторону гуглить?
Кириллл
выглядит это дело следующим образом
Кириллл
Кириллл
Daniel
ну вот еще мы код с картинок не читали
Daniel
https://play.golang.org/ - вот тут оформляйте пример
Daniel
но сначала - go tour прошли?
Кириллл
🙂
Кириллл
но сначала - go tour прошли?
golang-book прочитал, там об этом нет информации
Кириллл
Но спасибо, зайду
Мерль
🙂
https://play.golang.org/p/f2DmWqGZYzo
Daniel
у меня все остановки происходят ровно там, где ожидается
Кириллл
Скачивал с сайта свежий дистрибутив, порядок выполнения виден на скрине - вывод А чтение А вывод B C, чтение B C конец программы
Daniel
винда?
Кириллл
винда?
Винда
Daniel
у вас там конец строки из двух символов, Scanf к этому не готов
Кириллл
Проблема решаема?
Кириллл
Как с этим жить?
Daniel
не знаю
Daniel
я сканфом никогда не пользуюсь - он тупой, и заставить его делать то, что надо, почти невозможно. что в C, что в Go