Skip to content

Latest commit

 

History

History
42 lines (33 loc) · 1.88 KB

notes.org

File metadata and controls

42 lines (33 loc) · 1.88 KB

Tasks

use allocators in circular buffer

[2021-11-17 Mi 11:14] ~/IMP/utils/data_structures/circular_buffer.hpp

implement the concurrent arraylist idea, that I had for Markus Iser

basic idea:

  • append only container
  • only accessable via iterating through it
  • singly linked list of blocks
  • each position is stored in one 64bit value
    • upper 48bits = pointer to current block
    • lower 16bits = offset within the current block

implement the delayed reclamation with nonstandard destructors

[2020-10-06 Tue 18:53] ~/IMP/utils/memory_reclamation/delayed_reclamation.hpp

implement the remove in queue

[2020-03-20 Fr 22:14] ~/IMP/utils/data_structures/concurrent_singly_linked_list.hpp

implement an automatic chooser for elements that have or do not have a lockless implementation

[2019-12-20 Fri 18:03] <a href=”~/IMP/utils/data_structures/many_producer_single_consumer_bucket.hpp::std::pair<std::atomic*,%20std”>~/IMP/utils/data_structures/many_producer_single_consumer_bucket.hpp::std::pair<std::atomic<T>*,%20std

implement a special iterator that automatically waits for the element to be inserted

[2019-12-20 Fri 18:02] <a href=”~/IMP/utils/data_structures/many_producer_single_consumer_bucket.hpp::std::pair<std::atomic*,%20std”>~/IMP/utils/data_structures/many_producer_single_consumer_bucket.hpp::std::pair<std::atomic<T>*,%20std

use an allocator for both buffers

[2019-12-20 Fri 18:01] ~/IMP/utils/data_structures/many_producer_single_consumer_bucket.hpp

finish writing the test

[2019-12-20 Fri 17:59] ~/IMP/utils/tests/src/test_circular_buffer.cpp

use an allocator to allocate the buffer

[2019-12-20 Fri 17:52] ~/IMP/utils/data_structures/circular_buffer.hpp