package kcas

  1. Overview
  2. Docs
Software transactional memory based on lock-free multi-word compare-and-set

Install

Dune Dependency

Authors

Maintainers

Sources

kcas-0.5.2.tbz
sha256=7a3a66cda019904d7f9e566ebdf65bad5fdf060049a589d236a31e7960bf7bbb
sha512=3dde56e72dbc7534b824739354d4799ea42ca67fd54715d5e808590d797228600f9942a4326a0237395b9d914e73838b2744d1d01b6d018a8fabac4ad8807805

CHANGES.md.html

Release notes

All notable changes to this project will be documented in this file.

0.5.2

  • Improve Hashtbl read-write performance and add swap (@polytypic)

  • Avoid some unnecessary verifies of read-only CMP operations (@polytypic)

0.5.1

  • Add synchronizing variable Mvar to kcas_data (@polytypic)

  • Fix to allow retry from within Xt.update and Xt.modify (@polytypic)

0.5.0

  • Add nested conditional transaction support (@polytypic)

  • Add explicit location validation support (@polytypic)

0.4.0

  • Allocation of location ids in a transaction log friendly order (@polytypic)

  • Per location operating mode selection (@Dashy-Dolphin, review: @polytypic)

  • Injectivity !'a Kcas_data.Dllist.t annotation (@polytypic)

0.3.1

  • Added doubly-linked list Dllist to kcas_data (@polytypic)

  • Minor optimizations (@polytypic)

0.3.0

  • Remove the Tx API (@polytypic)

  • Add blocking support to turn kcas into a proper STM (@polytypic, review: @lyrm)

  • Add periodic validation of transactions (@polytypic)

0.2.4

  • Introduce kcas_data companion package of composable lock-free data structures (@polytypic)

  • Add is_in_log operation to determine whether a location has been accessed by a transaction (@polytypic)

  • Add Loc.modify (@polytypic)

  • Add transactional swap operation to exchange contents of two locations (@polytypic)

  • Injectivity !'a Loc.t and variance +'a Tx.t annotations (@polytypic)

0.2.3

  • Add support for post commit actions to transactions (@polytypic)

  • Bring Xt and Tx access combinators to parity and add compare_and_swap (@polytypic)

0.2.2

  • New explicit transaction log passing API based on idea by @gasche (@polytypic, review: @samoht and @lyrm)

0.2.1

  • New k-CAS-n-CMP algorithm extending the GKMZ algorithm (@polytypic, review: @bartoszmodelski)

0.2.0

  • Complete redesign adding a new transaction API (@polytypic, review: @bartoszmodelski)

0.1.8

  • Fix a bug in GKMZ implementation (@polytypic, review: @bartoszmodelski)

0.1.7

  • Change to use the new GKMZ algorithm (@polytypic, review: @bartoszmodelski)

0.1.6

  • Add preflights sorting and checks (@bartoszmodelski, review: @polytypic)

0.1.5

  • Republish in opam (update opam, dune) (@tmcgilchrist, review: @Sudha247)

OCaml

Innovation. Community. Security.