ACE (библиотека C++) все еще используется для высокопроизводительных вычислений?

Заинтересовавшись высокочастотной торговлей / высокопроизводительными вычислениями, я наткнулся на "ACE":

http://www.cs.wustl.edu/~schmidt/ACE-overview.html

Тем не менее, я заметил, что многие статьи на сайте относятся к периоду 1995 года, и мне стало интересно, используется ли этот фреймворк и если нет, то чем он заменен?

Или буст заменил это? Есть ли в ACE нужные библиотеки, которых нет?

3 ответа

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

Что касается вашего вопроса об ACE vs. boost, я не думаю, что эти две библиотеки находятся на одном уровне. ACE нацелена на создание кроссплатформенных расширенных сетей (даже в режиме реального времени и встраиваемых системах), предлагая конкретные шаблоны, такие как реактор, конфигуратор услуг, маркеры завершения, управление памятью и так далее. Уровень "переносимости" (ACEOS, если я не ошибаюсь) - это просто базовый уровень, но, на мой взгляд, в настоящее время он не является реальным ценным предложением ACE, скорее он предназначен для включения других подсистем.

В целом, я думаю, что для продвинутых сетевых шаблонов, таких как описанные в POSA2, ACE является хорошим выбором. Если вам нужен просто уровень абстракции над операционной системой, повышение - это лучший способ (более современный и широко распространенный).

Я знаю, что это старый пост, но для тех, кто хочет знать, ACE все еще находится в разработке:

https://github.com/DOCGroup/ATCD/tree/master/ACE

Хотя ACE уже давно вызвал интерес, более поздние конструкции серверов предлагают более высокую скорость (меньшую задержку) и многоядерную масштабируемость (более высокий параллелизм).

Если вас беспокоит задержка (высокочастотные торговые операторы борются за каждую микросекунду), тогда сделайте свои собственные тесты. weighttp (ApacheBench-совместимый) инструмент стресса - самый эффективный из всех, что я видел (используйте опцию "-t 4", чтобы использовать 4 рабочих потока вместо 4-секундного теста, как для AB).

поскольку Apachebench это однопоточный инструмент, он не сможет насытить SMP-сервер (многопоточный или многопроцессный).

Другие вопросы по тегам