home.social

#язык_c — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #язык_c, aggregated by home.social.

  1. Чёрная магия C++: Быстрый кольцевой буфер

    Однажды у меня возникла потребность в кольцевом буфере на C++ для хранения довольно объёмных потоковых данных. Проблема заключалась в том, что мне было необходимо поддерживать непрерывность и упорядоченность данных в памяти, чтобы в любой момент времени я мог считать все элементы буфера одним бесшовным куском в порядке поступления элементов. Как правило, кольцевой буфер реализуется через списки, вроде std::list или std::deque , либо через плоские массивы, вроде std::vector или boost::circular_buffer . Но ни одна реализация не гарантирует непрерывность и упорядоченность одновременно. В данной статье я расскажу про реализацию буфера через трюк с виртуальной памятью, сохраняющую упорядоченность элементов в непрерывной ограниченной области памяти.

    habr.com/ru/articles/1070772/

    #кольцевой_буфер #круговой_буфер #язык_c++ #производительность #оптимизация #алгоритмы_и_структуры_данных #виртуальная_память #valgrind #профилирование #opencv

Share on Mastodon

Enter the server where you have an account.