Poco Task Manager / Boost Threads смешивание и сопоставление

Мне трудно решить, стоит ли использовать Poco в нашем продукте. В настоящее время мы используем ускорение, но его уровень очень низкий. Я хотел бы использовать некоторые функции Poco. В настоящее время мне нужны только два класса: диспетчер задач и классы таймера, однако они зависят от пула потоков, который использует Poco :: Thread вместо Boost :: Thread и т. Д.

Я хотел бы удалить нашу текущую структуру управления задачами и использовать Poco, поскольку она намного лучше подходит. Говоря это, я беспокоюсь о будущих последствиях этого и смешивания объектов Poco и объектов Boost.

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

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

Boost:
Pro - Я остаюсь с boost, у нас нет других зависимостей.
Con - Потребуется время, чтобы написать эквивалент Poco Task Manager / Timer, и он не будет
стресс-тестом сообщества / преимущество проверки кода. (также я заново изобретаю колесо)
Против - мы упускаем другие пакеты Poco, которые могли бы оказать большую помощь в будущем, например, xml, кеш, поддержку Unicode и т. д.

Полностью используйте Poco и прекратите поддержку Boost
Pro - Мы можем использовать все функции Poco, написанные на более высоком уровне абстракции, мы можем быстро реализовать функции.
Con - Если нам нужно что-то, что есть в Boost в будущем мы не сможем его использовать.
Con - Потребуется много работы, чтобы переработать текущий код, использующий ускорение.

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

Спасибо за ваше время.


person Community    schedule 06.12.2012    source источник


Ответы (1)


В нашем проекте мы используем Poco, смешанный с boost, и эта комбинация работает очень хорошо. На мой взгляд, boost имеет отличный набор алгоритмов нижнего уровня, тогда как Poco предлагает очень полезный набор объектов приложения более высокого уровня. Нет четкой границы, разделяющей две библиотеки, но мы использовали их именно так. например boost для сигналов / слотов, foreach и т. д. и Poco для потоковой передачи, HTTP-сервисов, преобразования Unicode / UTF8. Обе библиотеки хорошо работают с общим кодом в OS X, Windows, Linux, iOS и Android.

person Graham Perks    schedule 06.12.2012
comment
Спасибо за ответ. Грэм, да, я бы видел их такими же, если бы Poco был более высокой абстракцией, а boost - набором инструментов более низкого уровня. Теперь из нескольких источников кажется, что они работают вместе, и я становлюсь немного увереннее, что это не должно быть проблемой. Я также искал пакет для Unicode, так как он выглядит хорошо. Если в следующие несколько дней я не услышу плохих отчетов, я буду счастлив их свести. Еще раз спасибо за информацию. - person ; 07.12.2012