Size: a a a

2019 September 11

G

Grigory in rannts
@cykooz про Pillow и ресайз - прямо Pillow используется, или Pillow-SIMD?
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Pillow-SIMD
источник

G

Grigory in rannts
С opencv по скорости не сравнивали?
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Нет, не сравнивал - а там что-ли есть оптимизации под SIMD инструкции?
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Pillow всё равно ведь понадобится - что бы разные форматы картинок открывать.
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
И ещё я использую "гибридный" алгоритм ресайза, из вот этой статьи
https://habr.com/ru/post/340966/
источник

G

Grigory in rannts
Kirill (Cykooz) Kuzminykh
Нет, не сравнивал - а там что-ли есть оптимизации под SIMD инструкции?
Ну как обычно - SSE разных версий, треды и так далее.
Просто в моей практике всё, что с картинками связано - в OpenCV делается быстрее, чем в Pillow
источник

G

Grigory in rannts
Kirill (Cykooz) Kuzminykh
Pillow всё равно ведь понадобится - что бы разные форматы картинок открывать.
Почему нельзя разные форматы картинок открывать с помощью OpenCV? Ну то есть да, встречаются такие картинки, которые он пржевать не может, для этого у меня фолбэк на Pillow написан, но это достаточно редкое событие, чтобы не ронять перформанс.
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Ну спасибо, потестирую, когда будет время.
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
А OpenCV случайно не умеет сам определять наличие всяких SIMD и использовать наиболее быстрые? А то Pillow-SIMD надо изначально компилировать или под SSE или под AVX
источник

G

Grigory in rannts
Kirill (Cykooz) Kuzminykh
А OpenCV случайно не умеет сам определять наличие всяких SIMD и использовать наиболее быстрые? А то Pillow-SIMD надо изначально компилировать или под SSE или под AVX
Там точно можно включить компиляцию подо всё одновременно, а вот как оно выбирает в райнтайме - спрошу у коллеги, который кишки лучше знает.
источник
2019 September 12

БС

Байт Словович in rannts
@cykooz
по поводу rest и кодов ошибок.
Вот мой бэкенд лезет в другой сервис. Этот второй сервис возвращает ошибку. Мне какой код вернуть? Код ошибки внешнего сервиса я вернуть не могу, ибо он может вернуть 404, но для клиента моего сервиса 404 будет нонсес, ибо URL то правильный он использует.
Также внешний сервис может вообще никакого кода не вернуть, ибо лежит.  В общем смотрю я на коды ошибок и ничего лучше 400 не нахожу..
источник

SZ

Sergey Z in rannts
502?
источник

БС

Байт Словович in rannts
хм, вариант
источник

SS

Sergey Smyshlyaev in rannts
Bad Gateway
источник

SS

Sergey Smyshlyaev in rannts
502, да. Я помню с @kugaevsky это обсуждали, он то же самое говорил
источник

NK

Nick Kugaevsky in rannts
Ага
источник

NK

Nick Kugaevsky in rannts
В этом случае твой бэк выступает проксёй
источник

AG

Alexander Gorokhov in rannts
502 выглядит самым адекватным вариантом
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Байт Словович
@cykooz
по поводу rest и кодов ошибок.
Вот мой бэкенд лезет в другой сервис. Этот второй сервис возвращает ошибку. Мне какой код вернуть? Код ошибки внешнего сервиса я вернуть не могу, ибо он может вернуть 404, но для клиента моего сервиса 404 будет нонсес, ибо URL то правильный он использует.
Также внешний сервис может вообще никакого кода не вернуть, ибо лежит.  В общем смотрю я на коды ошибок и ничего лучше 400 не нахожу..
4xx - это ошибка допущенная клиентом. Если, в том что внешний сервис лежит, виноват клиент, то да, надо выбирать ошибку из диапазона 4xx.
Если это "неожиданная ошибка", то это 500 + в теле ответа детали ошибки (у нас например все ошибки имеют стандартный формат JSON-ки в теле ответа)
источник