Рубрика «оптимизация» - 28

Здравствуйте, меня зовут Саша, я написал самый быстрый ресайз изображений для современных х86 процессоров. Я так утверждаю, поскольку все остальные библиотеки, которые я сумел найти и протестировать, оказались медленнее. Я занялся этой задачей, когда работал над оптимизацией ресайза картинок на лету в Uploadcare. Мы решили открыть код и в результате появился проект Pillow-SIMD. Любой желающий с легкостью может использовать его в приложении на языке Python.

Любой код выполняется на конкретном железе и хорошей оптимизации можно добиться, только понимая его архитектуру. Всего я планирую выпустить 4 или 5 статей, в которых расскажу как применять знание архитектуры железа для оптимизации реальной задачи. Своим примером я хочу побудить вас оптимизировать другие прикладные задачи. Первые две статьи выйдут в течение недели, остальные — по мере готовности.

Читать полностью »

Кто ищет, тот всегда найдет. Если ему помочь - 1

Вы сделали отличное приложение, выложили его в магазин, но там оно немедленно затерялось в тысячах аналогичных продуктов. Вы не планировали заработать на нем кучу денег, у вас нет рекламного бюджета, но вам обидно, что о вашем творении вообще никто не знает. В этой статье, ориентированной на небольшие компании и разработчиков-одиночек, мы расскажем, как простыми и бесплатными средствами помочь вашему приложению быть найденным целевой аудиторией.

Читать полностью »

Brainfuck — язык программирования, созданный с одной целью: написать для него интерпретатор. Их было написано так много, что даже не буду давать на них ссылки. В этой статье на пальцах объясняется простой, но эффективный способ его оптимизации.

quine

Читать полностью »

Вторая часть методического материала посвящена анализу оптимальной мощности светодиодных ламп (СДЛ) типа «кукуруза». Т.е. лампы какой мощности выгоднее всего покупать.
Читать полностью »

В последнее время все чаще можно встретить обсуждение интересной, но не очень популярной парадигмы — так называемой Data Oriented Design (DOD). Если вы устраиваетесь на работу, связанную с высокопроизводительными вычислениями, будьте готовы к соответствующим вопросам. Но я был очень очень удивлен, узнав, что некоторые мои коллеги не слышали об этом подходе и после недолго обсуждения отнеслись к нему скептически. В этой статье я постараюсь сравнить традиционный OOP подход с DOD.
Читать полностью »

В этом методическом материале хочу обсудить логику выбора светодиодных ламп (СДЛ) типа «кукуруза». Выбор типа вполне произвольный, а названия производителей я специально не расшифровываю. В данном случае задача понять, как осуществляется оптимальный выбор (а не узнать название какой-то фирмы-производителя).
Читать полностью »

Среди закупленных для тестов светодиодных ламп (СДЛ) оказались две примерно одинаковой мощности — 9 и 10 Вт (причем я вначале ошибочно считал, что первая также имеет мощность 10 Вт).
Я рассматриваю лампы-кукурузы такой мощности как основные «рабочие лошадки» для старых светильников в наших квартирах.
Вначале я предполагал, что сделаю 2 кратких отдельных обзора и на этом закрою вопрос. Но когда я сравнил полученные данные, то подумал, что на этом материале можно проиллюстрировать подходы различных производителей СДЛ.
Читать полностью »

Взлет игр-симуляторов как жанра несколько лет назад показал, что геймификации поддается любая рутина. Апофеозом стал хайп вокруг Goat Simulator, удостоившегося упоминания в ключевой презентации WWDC 2015. Мы не остались в стороне и от этого тренда, поучаствовав в разработке движка для серии приложений, симулирующих работу подземки.

Subway Simulator – серия игр-симуляторов метро. Самая первая версия игры, вышедшая в 2014 году, хоть и была довольно абстрактной, подтвердила спрос на продукт подобной тематики, причем довольно высокий — проект занял лидирующие позиции в своей нише практически сразу после запуска. Последующие апдейты и новые версии продукта были направлены на то, чтобы сделать Subway Simulator реалистичнее: моделирование поездов и станций вышло на новый уровень, а также появились «локализованные» версии игры, отображающие метрополитены Нью-Йорка, Пекина, Москвы и других городов. В данный момент суммарное число установок первой версии игры на iOS почти достигло миллионного значения. Одновременно игра становится доступна для других платформ.

Оптимизация механики и графики в игре жанра «симулятор» на iOS - 1

Читать полностью »

image

Здравствуйте, уважаемые читатели! Вот я и добрался до Хабра и хочу поведать здесь историю своего проекта. Многие аспекты собственного опыта и работы приходится описывать довольно общими терминами, чтобы не задеть коммерческую тайну тех организаций, о которых идёт речь.

Суть данного рассказа в том, чтобы поделиться найденным методом решения проблемы производительности компьютеров на Windows и рассказать про подход, который позволил сделать данное решение полностью универсальным и индивидуальным для каждого пользователя. На написание кода и подбор наиболее эффективных механизмов потребовалось около 2х лет ежедневной работы, а также консультации и помощь от большого количества моих товарищей из разных IT областей, за что им огромное спасибо.
Читать полностью »

Год назад я увидела перевод Убийцы оптимизации, и была удивлена тем, сколько нужно держать в голове, чтобы писать оптимизированный js код. Практически весь es6 попадал под деоптимизацию.

Убийцы оптимизации JS уже не такие страшные - 1

Новый оптимизатор в v8, называемый TurboFan, за последний год научился оптимизировать практически весь es5/es6 и даже try-catch больше не является проблемой.

class TestClass {
    megaFunc() {
        try {
            let sum = 0;
            for (let val of [1, 2, 3]) {
                sum += val;
            }
            throw new Error(`sync error, sum = ${sum}`);
        }
        catch(err) {
            return err;
        }
    }
}
let test = new TestClass();
checkOptimizationStatus(test.megaFunc);

Function is optimized by TurboFan

Что осталось не оптимизированным, а так же как проверить свою функцию на предмет оптимизации или деоптимизации буквально в 1 действие можно увидеть под катомЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js