Недавно я задал вопрос о Программистах относительно причину, чтобы использовать ручную разрядную манипуляцию примитивных типов над std::bitset
.
Из этого обсуждения я пришел к выводу, что основная причина заключается в его сравнительно невысокой производительности, хотя я не знаю каких-либо измеримых оснований для этого мнения. Итак, следующий вопрос:
каков результат, если таковой имеется, может быть вызван использованием std::bitset
над бит-манипуляцией примитива?
Вопрос преднамеренно широкий, потому что, посмотрев в Интернете, я ничего не смог найти, поэтому я возьму то, что смогу получить. В основном я получаю ресурс, который обеспечивает некоторое профилирование альтернатив std::bitset
vs 'pre-bitset' к тем же проблемам на некоторой общей машинной архитектуре с использованием GCC, Clang и/или VC++. Существует очень обширная статья, которая позволяет ответить на этот вопрос для бит-векторов:
http://www.cs.up.ac.za/cs/vpieterse/pub/PieterseEtAl_SAICSIT2010.pdf
К сожалению, он либо предшествует, либо считается вне сферы действия std::bitset
, поэтому вместо этого он фокусируется на реализациях векторов/динамических массивов.
Я просто хочу знать, лучше ли std::bitset
чем альтернативы для вариантов использования, которые он предназначен для решения. Я уже знаю, что это проще и понятнее, чем бит-игра на целое число, но так ли быстро?