2014-02-04 4 views
5


Я выполняю бенчмаркинг в своем коде, и я пытаюсь выяснить, следует ли использовать стандартную версию хронографа или оригинальную версию Boost.
Я начал использовать стандартный, потому что хотел попробовать, и заметил, что, например, он не предоставляет функции io, такие как хронограф, предоставленный Boost.
Итак, что касается хроно и в целом, следует ли использовать библиотеки Boost или их стандартные библиотеки?C++: std :: chrono or boost :: chrono

ответ

13

Это зависит от того, чего вы хотите достичь. C++ хроно профи:

  1. Лучше понятность (чем больше пользователей знают стандартную библиотеку, чем импульс)
  2. Лучше портативность (в случае, если вы решили использовать C++ 11)
  3. Может быть, это будет работать быстрее.
  4. Не добавляйте дополнительные зависимости к проекту.

подталкивание хроы плюсы:

  1. Работа для C++ 03
  2. Обеспечивает большую функциональность.

Итак, если вам не нужны дополнительные функции io и не требуется поддержка C++ 03, используйте стандартную библиотеку.

+3

+1 для хорошего обзора, я сам буду использовать дрянные «использовать std :: chrono, когда это возможно, boost :: chrono, когда вам нужно» – bobah

+1

(1) Какая часть интерфейса более понятна в 'std :: chrono', чем в 'boost :: chrono'? (2) 'boost :: chrono' определенно * более * портативный, чем' std :: chrono', поскольку он работает с более широким спектром компиляторов. (3) Не совсем понятно, что вы подразумеваете, заявив, что 'std :: chrono' будет работать быстрее». Нижняя строка выглядит следующим образом: дополнительная зависимость от переносимости и функциональности. –

+0

@IgorR. (1) Потому что вам не нужно читать дополнительную документацию, чтобы понять ее. (2) Если вы уже используете C++ 11, должен быть 'std :: chrono', и для этой архитектуры/компилятора вообще не может быть никакого повышения. (3) Std предоставляется компилятором и обычно использует лучшую реализацию, доступную для этой платформы. Boost может использовать некоторую общую реализацию для некоторых редких/неподдерживаемых компиляторов. –

 Смежные вопросы

  • Нет связанных вопросов^_^