package kcas
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
doc/CHANGES.html
Release notes
All notable changes to this project will be documented in this file.
0.5.2
- Improve
Hashtbl
read-write performance and addswap
(@polytypic) - Avoid some unnecessary verifies of read-only CMP operations (@polytypic)
0.5.1
- Add synchronizing variable
Mvar
tokcas_data
(@polytypic) - Fix to allow retry from within
Xt.update
andXt.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
tokcas_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
andTx
access combinators to parity and addcompare_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)