~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 963F4444B0352C799642D74E43D122F5__1714612860 ✰
Заголовок документа оригинал.:
✰ Data-oriented design - Wikipedia ✰
Заголовок документа перевод.:
✰ Дата-ориентированный дизайн — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Data-oriented_design ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/96/f5/963f4444b0352c799642d74e43d122f5.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/96/f5/963f4444b0352c799642d74e43d122f5__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 10:33:38 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 2 May 2024, at 04:21 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Дата-ориентированный дизайн — Википедия Jump to content

Ориентированный на данные дизайн

Из Википедии, бесплатной энциклопедии

В вычислительной технике проектирование , ориентированное на данные, — это подход к оптимизации программ , основанный на эффективном использовании кэша ЦП , часто используемый при разработке видеоигр . [1] Подход заключается в том, чтобы сосредоточиться на расположении данных, разделении и сортировке полей в зависимости от того, когда они необходимы, а также подумать о преобразовании данных. Среди сторонников - Майк Эктон, [2] Скотт Мейерс , [3] и Джонатан Блоу .

Параллельный массив (или структура массивов ) является основным примером проектирования, ориентированного на данные. Он контрастирует с набором структур, типичных для объектно-ориентированных проектов.

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

Мотивы [ править ]

Эти методы стали особенно популярными в середине-конце 2000-х годов во время седьмого поколения игровых консолей , включая IBM PowerPC на базе консоли PlayStation 3 (PS3) и Xbox 360 . Исторически сложилось так, что игровые консоли часто имеют относительно слабые центральные процессоры (ЦП) по сравнению с лучшими аналогами настольных компьютеров. Это выбор конструкции, позволяющий выделить больше мощности и транзисторного ресурса графическим процессорам (GPU). Например, процессоры 7-го поколения не производились с современными процессорами исполнения вне порядка , а вместо этого использовали процессоры с выдержкой порядка с высокими тактовыми частотами и глубокими конвейерами . Кроме того, в большинстве типов вычислительных систем основная память расположена на расстоянии сотен тактов от процессорных элементов . Кроме того, поскольку процессоры стали быстрее вместе со значительным увеличением объема основной памяти, происходит массовое потребление данных, что увеличивает вероятность промахов кэша в общей шине , иначе называемой узким местом фон Неймана. . Следовательно, локальные эталонные для контроля производительности использовались методы, что требовало улучшения шаблонов доступа к памяти для устранения узких мест. Некоторые программные проблемы также были аналогичны тем, которые наблюдались на Itanium , и требовали развертывания цикла для предварительного планирования.

Контраст с ориентацией объекта [ править ]

Утверждается, что традиционные принципы объектно-ориентированного программирования (ООП) приводят к плохой локальности данных, [5] [6] тем более, если используется полиморфизм времени выполнения ( динамическая диспетчеризация ) (что особенно проблематично на некоторых процессорах). [7] [1] Хотя ООП, кажется, «организует код вокруг данных», на самом деле оно организует исходный код вокруг типов данных , а не физически группирует отдельные поля и массивы в эффективном формате для доступа к ним определенных функций. Более того, он часто скрывает детали макета под слоями абстракции , а программист, ориентированный на данные, хочет учитывать это в первую очередь.

См. также [ править ]

Ссылки [ править ]

  1. ^ Перейти обратно: а б с Ллопис, Ноэль (4 декабря 2009 г.). «Информационно-ориентированный дизайн» . Data-Oriented Design (или почему вы можете выстрелить себе в ногу с помощью ООП) . Проверено 17 апреля 2020 г.
  2. ^ «CppCon 2014: Майк Эктон «Data-Oriented Design и C++» » . YouTube .
  3. ^ «code::dive Conference 2014 — Скотт Мейерс: Кэши процессора и почему вас это волнует» . YouTube .
  4. ^ Ричард Фабиан (8 октября 2018 г.). «Информационно-ориентированный дизайн» . www.dataorienteddesign.com . Проверено 20 декабря 2023 г.
  5. ^ «КОНФЕРЕНЦИЯ ДЛЯ РАЗРАБОТЧИКОВ INTEL ® HPC ПОЛУЧИТЕ ВАШЕ ПОНИМАНИЕ. ПОВЫШАЙТЕ ЭФФЕКТИВНОСТЬ ВЕКТОРИЗАЦИИ С ИСПОЛЬЗОВАНИЕМ ШАБЛОНА РАЗМЕЩЕНИЯ ДАННЫХ INTEL SIMD (INTEL SDLT)» (PDF) .
  6. ^ Хольгер Хоманн; Франсуа Лаэнен (2018). «SoAx: универсальная структура массивов C++ для обработки частиц в кодах HPC». Компьютерная физика. Коммуникации . 224 : 325–332. arXiv : 1710.03462 . Бибкод : 2018CoPhC.224..325H . дои : 10.1016/j.cpc.2017.11.015 . S2CID   2878169 .
  7. ^ «Что не так с объектно-ориентированным дизайном? Какой в ​​нем вред?» . описывает проблемы с вызовами виртуальных функций, например, промахи i-cache
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 963F4444B0352C799642D74E43D122F5__1714612860
URL1:https://en.wikipedia.org/wiki/Data-oriented_design
Заголовок, (Title) документа по адресу, URL1:
Data-oriented design - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)