data-oriented design

  • ХабрахабрФото Как настроить real-time data processing на летящем корабле

    Как настроить real-time data processing на летящем корабле

    Привет! Меня зовут Алексей Скоробогатый, я системный архитектор в Lamoda.Недавно мы внесли большие изменения в нашу e-commerce платформу: перешли к событийной (events driven) архитектуре и добавили обработку данных в реальном времени. На этом примере я хочу поделиться опытом того, как мы реализуем эволюционный подход к изменению архитектуры. Необходимость изменить архитектуру возникла из-за того, что в старой было невозможно реализовать задачу,…

    Читать далее »
  • ХабрахабрФото Как я на спор развернул двусвязный список за O(1)

    Как я на спор развернул двусвязный список за O(1)

    Как-то раз я случайно увидел, как мой коллега решает джуниорскую задачку разворачивания двусвязного списка на C++. И в тот момент странным мне показалось не то, что он лид и давно перерос подобное, а само решение. Вернее, не так. Ничего необычного или сложного, но при взгляде на него у меня возникло два вопроса: Решение было стандартным: тот же линейный проход с…

    Читать далее »
  • ХабрахабрФото [Перевод] Data-Oriented Design (или почему, используя ООП, вы, возможно, стреляете себе в ногу)

    [Перевод] Data-Oriented Design (или почему, используя ООП, вы, возможно, стреляете себе в ногу)

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

    Читать далее »


Кнопка «Наверх»