Комментарии 11
Так толком и не понял что именно оптимизируется? Работа с одиночными битами в больших наборах? Как правило это редко нужно, а там где нужно не критично к времени доступа.
В примере с клавиатурой, наверняка есть способ обработки состояний кнопок оптом, по 8-16-32 за раз в т.ч. и сканирование на физическом уровне. У нас между сканами каждой линии кнопок есть десятки тысяч тактов… точно нужна оптимизация быстродействия?
В примере с клавиатурой, наверняка есть способ обработки состояний кнопок оптом, по 8-16-32 за раз в т.ч. и сканирование на физическом уровне. У нас между сканами каждой линии кнопок есть десятки тысяч тактов… точно нужна оптимизация быстродействия?
0
Оптимизируется требуемая память и быстродействие, а больше оптимизировать и нечего :)
Ну а насчет нужности оптимизации — в конце поста есть опрос.
Ну а насчет нужности оптимизации — в конце поста есть опрос.
0
Можно ссылку на макросы Чижова? Библиотеку Loki за авторством Александреску знаю, а упомянутые макросы что-то не гуглятся.
0
Например, тут easyelectronics.ru/rabota-s-portami-vvoda-vyvoda-mikrokontrollerov-na-si.html
Я неверно написал, не макросы, а шаблоны.
Я неверно написал, не макросы, а шаблоны.
0
НЛО прилетело и опубликовало эту надпись здесь
поясните плиз про статический и не статический атрибут?
возможно поможет если сделать базовый класс для статических классов, и отдельно шаблонную фабрику с двумя реализациями, одна с constexpr для наследников базового класса, и вторая для всех остальных. в первом случае объект будет в РОМ без возможности изменения его полей во втором в РАМ с возможность изменения полей.
см. пример для Синглтона onlinegdb.com/rJdn0g6t4
возможно поможет если сделать базовый класс для статических классов, и отдельно шаблонную фабрику с двумя реализациями, одна с constexpr для наследников базового класса, и вторая для всех остальных. в первом случае объект будет в РОМ без возможности изменения его полей во втором в РАМ с возможность изменения полей.
см. пример для Синглтона onlinegdb.com/rJdn0g6t4
0
кстати, для ARM bitset очень даже хороший. можно использовать как есть, единственное инициализация Битов за 64 байта только через конструктор со строкой на входе… что смотрится ужасно. Поэтому в свое время переписал, добавить вариадик конструктор, с передачей номеров Битов, которые нужно установить. Смотрится явно понятнее.
0
Адаптация bitset как части стандартной библиотеки к конкретному железу — вещь полезная, но вот пример с клавиатурой на мой взгляд выбран неудачно.
Из-за этого на опрос сложно ответить объективно, например я считаю:
А. Конкретно для клавиатуры особо быстрый bitset не особо нужен, и оптимизировать его излишне, ну не зажимают часто быстро большое количество кнопок (преждевременная оптимизация);
Б. Для других задач оптимизация bitset может быть необходима;
Из-за этого на опрос сложно ответить объективно, например я считаю:
А. Конкретно для клавиатуры особо быстрый bitset не особо нужен, и оптимизировать его излишне, ну не зажимают часто быстро большое количество кнопок (преждевременная оптимизация);
Б. Для других задач оптимизация bitset может быть необходима;
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
К вопросу о bitset