У меня на достаточно простых изображениях получалось получить уменьшения размера в разы, и даже на порядок, при визуально неотличимой разнице между jpeg и webp . Но с чем-то похожим на художественные снимки работать не приходилось, возможно там действительно разница уже не такая значительная.
На своих проектах разницу в скорости отрисовки одинаковых jpeg и webp картинок, находящихся прямо на девайсе мы не проверяли, но уменьшение размера картинки на порядок за счет перехода к webp дает ощутимый прирост к отзывчивости приложения, если картинка грузится по сети. Условно, даже если на отрисовку webp телефон тратит на 1 мс больше, чем на jpeg, то это с лихвой окупается за счет ускорения загрузки на 100+ мс.
Если говорить с точки зрения symfony framework(а скорее даже SOLID), то ваш код вобще не обязан знать что используется и как оно работает. Есть MessageBusInterface, который запрашивает ваш класс и это все что он должен знать. Остальное - не его компетенция. Ваш класс запрашивает интерфейс как аргумент своего конструктора, а уже что туда передадут и откуда оно возмется - вопрос конейнера, который будет создавать и конфигурировать ваш класс. И это работает не только с шиной сообщений: логи, кеш - туда же. Да хоть репозитории. Такой подход позволяет гибко управлять потоками данных с одной стороны, и менять реализации интерфейсов в зависимости от окружения с другой. При этом в самом коде не меняется ни строчки, только конфиурации.
Вполне возможно оно управлялось вручную но удаленно. А пешеход попал в слепую зону камер и оператор его просто не могу увидеть. В таком случае приостановка проекта для устранения слепых зон выглядела бы логично. Было бы интересно найти больше инфы, чтобы проверить эту гипотезу, а то информация подана как-то слишком туманно.
А еще добавьте в список Intel MKL.
Это как раз та самая библиотека, из-за которой Матлаб на 3й рязани работал медленее, чем на интелах, пока энтузиасты флаги запуска не подкрутили. В сегменте решателей мат. задач MKL практически безальтернативный, т.к. OpenBLAS медленный, а cuBLAS еще не полностью стандарт BLAS поддерживает(если мне память не измменяет) и нацелен на работу через ГПУ, а не ЦПУ. Собственной реализации, отпимизированной под текущую архитектуру, у АМД просто нет. При этом всякие питоновские numpy/scipy/итд без нормального BLAS бекенда ой какие медленные, а значит сегмент bigdata(ну ладно, не big, скорее small/medium) для АМД сейчас закрыт, т.к. без соответствующей инфраструтктуры они там не нужны сейчас.
Имхо, у АМД есть только один шанс перевернуть рынок — если они вот прямо сейчас начнут выкатывать нормальный софт под свои железки. Иначе Интел их сожрет на длинной дистанции.
Если мы говорим про централизированную аналитику через свой бекенд — то никакой. В любом случае надо все это добро интегрировать, чтобы получать актуальные данные. Другое дело, что она не всегда нужна т.к. в админках сторов есть отчеты, которые достаточно информативны, особенно для небольших приложений с монетизацией на подписках.
Матрикс штука хорошая, но без нормального горизонтального масштабирования быстро превращается в тыкву при большом кол-ве клиентов и федерализация не спасает. Его ж так и не завезли?
Именно.
А еще этот PR по идее должен решить проблему с методами, возвращающими сами себя в интерфейсах(сейчас мы только можем вернуть исходный интерфейс). Вот синтетический пример абсолютно рабочего кода, но при этом невалидного с точки зрения статического анализатора:
interface Foo
{
public function setA(int $a): Foo;
public function doSomeStuff();
}
class Bar implements Foo
{
private array $params = [];
private int $a = 0;
public function setA(int $a): Foo
{
$this->a = $a;
return $this;
}
public function setSomeParams(array $params): self
{
$this->params = $params;
return $this;
}
public function doSomeStuff()
{
//...
}
}
(new Bar)
->setA(1)
// Вот тут ИДЕ справедливо видит несовпадение типов
->setSomeParams(['baz' => 1])
->doSomeStuff()
;
Замена интерфейса на ключевое слово static в методе setA четко укажет, что метод возвращает себя(или хотя бы наследника), а не какую-то другую имплементацию Foo.
Интерес к ВПН в Украине пропадает из-за того что:
1) все привыкли обходиться без почты меил.ру и яндекса, а также яндекс.карт
2) где-то с лета перестала действовать блокировка ВК(и еще чего-то)
Правда с весны в блокировку попали все онлайн книжные магазины. Так что, к примеру, лицензионную аудиокнигу без ВПН не послушать. Но кому это надо?(грустный сарказм)
Лично для себя я выбрал, возможно громоздкий, но наиболее правильный, на мой взгляд, способ: кеширующий декоратор должен работать не с самим кешом, а с его адаптером, заточенным под конкретную сущность/задачу. Задача инвалидации перекладывается либо на сам адаптер(удобно при активном кеше), либо вобще на отдельный класс, которыей знает про адаптер и декорируемый обьект (удобно при пассивном кеше).
Скорее всего им просто сейчас это не нужно. Может тестируют как их корабли чувствуют себя в космосе в течении длительного времени, а может что-то другое. В любом случае перед тем как делать выводы стоит подождать пока запуски Фалконов к МКС не поставят на поток — думаю только тогда начнут оптимизировать маршрут и многое другое.
Слышал байку, что вот такими же методами собирались защищать советские мжконтинентальные ракеты от американских спутников с лазерами(сильно сомневаюсь что они существовали, но байка не про это). Причем в случае с ракетами вращение выглядит действительно логичным и легко реализуемым — одиночный запал закручивал ракету без особых проблем из-за того что трение о воздух практически не влияет на вращение. Конечно на практике это никто так и не проверил, надуюсь и не будут.
У меня на достаточно простых изображениях получалось получить уменьшения размера в разы, и даже на порядок, при визуально неотличимой разнице между jpeg и webp . Но с чем-то похожим на художественные снимки работать не приходилось, возможно там действительно разница уже не такая значительная.
На своих проектах разницу в скорости отрисовки одинаковых jpeg и webp картинок, находящихся прямо на девайсе мы не проверяли, но уменьшение размера картинки на порядок за счет перехода к webp дает ощутимый прирост к отзывчивости приложения, если картинка грузится по сети. Условно, даже если на отрисовку webp телефон тратит на 1 мс больше, чем на jpeg, то это с лихвой окупается за счет ускорения загрузки на 100+ мс.
Если говорить с точки зрения symfony framework(а скорее даже SOLID), то ваш код вобще не обязан знать что используется и как оно работает. Есть MessageBusInterface, который запрашивает ваш класс и это все что он должен знать. Остальное - не его компетенция. Ваш класс запрашивает интерфейс как аргумент своего конструктора, а уже что туда передадут и откуда оно возмется - вопрос конейнера, который будет создавать и конфигурировать ваш класс. И это работает не только с шиной сообщений: логи, кеш - туда же. Да хоть репозитории. Такой подход позволяет гибко управлять потоками данных с одной стороны, и менять реализации интерфейсов в зависимости от окружения с другой. При этом в самом коде не меняется ни строчки, только конфиурации.
Вполне возможно оно управлялось вручную но удаленно. А пешеход попал в слепую зону камер и оператор его просто не могу увидеть. В таком случае приостановка проекта для устранения слепых зон выглядела бы логично. Было бы интересно найти больше инфы, чтобы проверить эту гипотезу, а то информация подана как-то слишком туманно.
Это как раз та самая библиотека, из-за которой Матлаб на 3й рязани работал медленее, чем на интелах, пока энтузиасты флаги запуска не подкрутили. В сегменте решателей мат. задач MKL практически безальтернативный, т.к. OpenBLAS медленный, а cuBLAS еще не полностью стандарт BLAS поддерживает(если мне память не измменяет) и нацелен на работу через ГПУ, а не ЦПУ. Собственной реализации, отпимизированной под текущую архитектуру, у АМД просто нет. При этом всякие питоновские numpy/scipy/итд без нормального BLAS бекенда ой какие медленные, а значит сегмент bigdata(ну ладно, не big, скорее small/medium) для АМД сейчас закрыт, т.к. без соответствующей инфраструтктуры они там не нужны сейчас.
Имхо, у АМД есть только один шанс перевернуть рынок — если они вот прямо сейчас начнут выкатывать нормальный софт под свои железки. Иначе Интел их сожрет на длинной дистанции.
— вот этим, к сожалению.
А еще этот PR по идее должен решить проблему с методами, возвращающими сами себя в интерфейсах(сейчас мы только можем вернуть исходный интерфейс). Вот синтетический пример абсолютно рабочего кода, но при этом невалидного с точки зрения статического анализатора:
Замена интерфейса на ключевое слово static в методе setA четко укажет, что метод возвращает себя(или хотя бы наследника), а не какую-то другую имплементацию Foo.
1) все привыкли обходиться без почты меил.ру и яндекса, а также яндекс.карт
2) где-то с лета перестала действовать блокировка ВК(и еще чего-то)
Правда с весны в блокировку попали все онлайн книжные магазины. Так что, к примеру, лицензионную аудиокнигу без ВПН не послушать. Но кому это надо?(грустный сарказм)
blog.openai.com/openai-five