Недавно у меня был вопрос на собеседовании - Меня попросили сравнить поразрядные операции с точки зрения производительности.
Например, дать краткое описание производительности различных битовых операций.
Я предполагаю, что этот вопрос может быть довольно общим и довольно специфичным для машины, но я также думаю, что здесь должны быть некоторые общие правила, которые вы должны упомянуть (а я не t:).
Итак - что бы вы ответили?
Я, вероятно, также должен сказать, что может быть хорошей идеей сравнить их производительность на C (или C ++, где угодно) , потому что Я предполагаю, что эти языки дают компилятору больше места для выполнения оптимизации, связанной с битами.
Спасибо.
Хорошо, полный контекст проблемы.
Интервью состояло из нескольких разделов, и некоторые из них действительно были частями пирога, некоторые были кошмаром. Раздел, связанный с битами, был довольно сложным и включал такие вопросы, как:
Спецификации чисел с плавающей запятой, float
, double
Fast float
-> int
преобразования (и даже быстрее, если вы знаете диапазон)
Это было не очень сложно, но в качестве последнего вопроса в этом разделе, посвященном битам, меня попросили перечислить известные мне битовые операции и сравнить их производительность.
Я ответил на что-то не совсем описательное, например, «это архитектура, компилятор, ... конкретно, это на самом деле не имеет значения, побитовое уже довольно низкоуровневое ", но я думаю, что этот ответ отстой.