CARV-ICS-FORTH / minos

Concurrent skip list in C

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Minos Concurrent Skip List Project Logo

Usage

You can include the code below in your cmake project and #include <skiplist.h> in your sources.

FetchContent_Declare(minos
                     GIT_REPOSITORY https://github.com/gesalous/minos)
FetchContent_GetProperties(minos)
if(NOT minos_POPULATED)
  FetchContent_Populate(minos)
  add_subdirectory(${minos_SOURCE_DIR} ${minos_BINARY_DIR})
  include_directories(${minos_SOURCE_DIR}/include)
  FetchContent_MakeAvailable(minos)
endif()
target_link_libraries(YOUR_LIB_NAME minos)

Build, Testing and Installation

cd minos
mkdir build;cd build
cmake ..
make

# To run tests
ctest --verbose

# To install
sudo make install

Bibliography

The implementation of Minos is based on the following papers

  1. William Pugh. 1990. Skip lists: a probabilistic alternative to balanced trees. Commun. ACM 33, 6 (June 1990), 668–676. https://doi.org/10.1145/78973.78977
  2. William Pugh. 1990. Concurrent maintenance of skip lists. Technical Report. University of Maryland at College Park, USA.

About

Concurrent skip list in C

License:Other


Languages

Language:C 83.0%Language:CMake 13.5%Language:Python 3.5%