aboutsummaryrefslogtreecommitdiff
path: root/doc.go (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-11-06Add WouldBlockMatt Joiner1-1/+19
2019-11-05Cache ContextDoneVarsMatt Joiner2-5/+38
Note that nothing currently flushes them. Could probably flush them when they're done, and the early return will take care of the rest.
2019-11-05Add failed commits profilingMatt Joiner1-0/+13
2019-11-05Add stmutil.ListMatt Joiner1-0/+2
2019-11-05No need to reset Tx before putting it in the PoolMatt Joiner1-1/+0
2019-11-05Optimize AtomicSetMatt Joiner3-10/+14
2019-11-05Add expvarsMatt Joiner4-1/+14
2019-11-04Update go.modMatt Joiner2-0/+3
2019-11-04Add parallel PingPong benchmarkMatt Joiner2-1/+27
This should help demonstrate any speed-up from removing global synchronization primitives.
2019-11-04Fix TestDecrementMatt Joiner1-6/+4
With only a single cpu it would spin endlessly without a synchronization point (since changing AtomicGet to use atomics).
2019-11-04Use atomic.Value for Var stateMatt Joiner1-14/+7
2019-11-04Reduce transaction locking on Tx.waitMatt Joiner1-2/+2
2019-11-04Remove global lockMatt Joiner4-19/+66
2019-11-04Use atomic pointers for Var dataMatt Joiner3-23/+31
2019-11-03Transfer project stewardship to anacrolixMatt Joiner5-7/+11
See https://github.com/lukechampine/stm/issues/3#issuecomment-549087541.
2019-11-02Add stm friendly rate limiterMatt Joiner2-0/+608
The tests are from golang.org/x/time/rate, and the limiter tries to have a similar API.
2019-11-02stmutil.ContextDoneVar: Return true Var if the context is already doneMatt Joiner1-0/+3
This prevents needless races, such as in some of the rate limiting tests.
2019-11-01Add stmutil containers and ContextDoneVarMatt Joiner4-0/+354
2019-10-31Optimize a bunch of stuffMatt Joiner3-13/+42
2019-10-31Add Tx.Return and a return value from AtomicallyMatt Joiner3-22/+42
2019-10-29Panic when trying to set a nil VarMatt Joiner1-0/+3
This wasn't caught, and would cause errors later that weren't easy to trace. (cherry picked from commit 7b273432145605d367557e60ab51b9eb7dbbffeb)
2019-10-25Panic when trying to set a nil VarMatt Joiner1-0/+3
This wasn't caught, and would cause errors later that weren't easy to trace.
2019-10-23Get rid of globalCondMatt Joiner3-7/+3
2019-10-23Register transaction condition with each read Var onlyMatt Joiner3-13/+27
2019-10-23Improve comment on Tx.verifyMatt Joiner1-3/+1
2019-10-23Add PingPong test and benchmarkMatt Joiner2-0/+46
2019-10-23Break up the stm.go fileMatt Joiner7-269/+274
2019-10-23Put benchmarks in their own fileMatt Joiner2-122/+127
2019-10-23Make the santa example a cmdMatt Joiner1-2/+2