| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Add benchmark utils | Matt Joiner | 2020-10-01 | 8 | -0/+117 | |
| | | ||||||
| * | New Tx must have completed=false | Matt Joiner | 2020-10-01 | 2 | -1/+2 | |
| | | | | | This uncovers a race condition where new Tx are already marked completed. | |||||
| * | Tidy up newTx usage and recycle from WouldBlock | Matt Joiner | 2020-10-01 | 1 | -2/+7 | |
| | | ||||||
| * | Wake watchers until the var changes again | Matt Joiner | 2020-09-30 | 4 | -19/+30 | |
| | | ||||||
| * | Don't sleep and only wake watchers if the variable value has changed | Matt Joiner | 2020-09-30 | 2 | -3/+10 | |
| | | ||||||
| * | Sleep by default again, and don't bother sleeping for less than 100 microseconds | Matt Joiner | 2020-09-23 | 1 | -3/+3 | |
| | | ||||||
| * | Copy circle CI config from anacrolix/dht | Matt Joiner | 2020-09-10 | 1 | -21/+49 | |
| | | ||||||
| * | Document that Operation return value isn't in the examples | Matt Joiner | 2020-09-10 | 1 | -0/+3 | |
| | | ||||||
| * | Move some benchmarks to be external tests | Matt Joiner | 2020-09-10 | 2 | -86/+152 | |
| | | ||||||
| * | Add custom VarValue and const for sleep backoff | Matt Joiner | 2020-09-10 | 6 | -33/+101 | |
| | | ||||||
| * | Add exponentially longer sleeping between transaction attempts | Matt Joiner | 2020-09-10 | 2 | -8/+25 | |
| | | ||||||
| * | Add .circleci/config.yml | Matt Joiner | 2020-09-10 | 1 | -0/+26 | |
| | | ||||||
| * | Update README.md | Matt Joiner | 2020-09-10 | 1 | -5/+2 | |
| | | ||||||
| * | Reduce more allocations | Matt Joiner | 2020-08-28 | 2 | -12/+27 | |
| | | ||||||
| * | Dedicated tx locks type | Matt Joiner | 2020-08-28 | 1 | -10/+33 | |
| | | | | | Reduces allocations | |||||
| * | Add thundering herd tests | Matt Joiner | 2020-08-28 | 1 | -0/+86 | |
| | | ||||||
| * | Count wakes for unchanged var version | Matt Joiner | 2020-08-28 | 1 | -0/+5 | |
| | | ||||||
| * | Panic when a transaction blocks after reading nothing | Matt Joiner | 2020-04-15 | 4 | -11/+56 | |
| | | ||||||
| * | Rework ContextDoneVar to not leak done Contexts | Matt Joiner | 2019-11-07 | 1 | -1/+7 | |
| | | ||||||
| * | Throw away writes in failed Select operations | Matt Joiner | 2019-11-07 | 1 | -0/+6 | |
| | | | | | Note there's no test for this yet, afaik, and clearly it's not optimized. It also wasn't the cause of the issue I thought i was seeing, but is more correct. | |||||
| * | Add Tx.String | Matt Joiner | 2019-11-07 | 1 | -0/+5 | |
| | | ||||||
| * | Make returns explicit | Matt Joiner | 2019-11-06 | 7 | -121/+98 | |
| | | ||||||
| * | Add WouldBlock | Matt Joiner | 2019-11-06 | 1 | -1/+19 | |
| | | ||||||
| * | Cache ContextDoneVars | Matt Joiner | 2019-11-05 | 2 | -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. | |||||
| * | Add failed commits profiling | Matt Joiner | 2019-11-05 | 1 | -0/+13 | |
| | | ||||||
| * | Add stmutil.List | Matt Joiner | 2019-11-05 | 1 | -0/+2 | |
| | | ||||||
| * | No need to reset Tx before putting it in the Pool | Matt Joiner | 2019-11-05 | 1 | -1/+0 | |
| | | ||||||
| * | Optimize AtomicSet | Matt Joiner | 2019-11-05 | 3 | -10/+14 | |
| | | ||||||
| * | Add expvars | Matt Joiner | 2019-11-05 | 4 | -1/+14 | |
| | | ||||||
| * | Update go.mod | Matt Joiner | 2019-11-04 | 2 | -0/+3 | |
| | | ||||||
| * | Add parallel PingPong benchmark | Matt Joiner | 2019-11-04 | 2 | -1/+27 | |
| | | | | | This should help demonstrate any speed-up from removing global synchronization primitives. | |||||
| * | Fix TestDecrement | Matt Joiner | 2019-11-04 | 1 | -6/+4 | |
| | | | | | With only a single cpu it would spin endlessly without a synchronization point (since changing AtomicGet to use atomics). | |||||
| * | Use atomic.Value for Var state | Matt Joiner | 2019-11-04 | 1 | -14/+7 | |
| | | ||||||
| * | Reduce transaction locking on Tx.wait | Matt Joiner | 2019-11-04 | 1 | -2/+2 | |
| | | ||||||
| * | Remove global lock | Matt Joiner | 2019-11-04 | 4 | -19/+66 | |
| | | ||||||
| * | Use atomic pointers for Var data | Matt Joiner | 2019-11-04 | 3 | -23/+31 | |
| | | ||||||
| * | Transfer project stewardship to anacrolix | Matt Joiner | 2019-11-03 | 5 | -7/+11 | |
| | | | | | See https://github.com/lukechampine/stm/issues/3#issuecomment-549087541. | |||||
| * | Add stm friendly rate limiter | Matt Joiner | 2019-11-02 | 2 | -0/+608 | |
| | | | | | The tests are from golang.org/x/time/rate, and the limiter tries to have a similar API. | |||||
| * | stmutil.ContextDoneVar: Return true Var if the context is already done | Matt Joiner | 2019-11-02 | 1 | -0/+3 | |
| | | | | | This prevents needless races, such as in some of the rate limiting tests. | |||||
| * | Add stmutil containers and ContextDoneVar | Matt Joiner | 2019-11-01 | 4 | -0/+354 | |
| | | ||||||
| * | Optimize a bunch of stuff | Matt Joiner | 2019-10-31 | 3 | -13/+42 | |
| | | ||||||
| * | Merge branch 'master' into var-conds | Matt Joiner | 2019-10-31 | 3 | -22/+42 | |
| |\ | | | | | | | | | | | | | | | | | * master: Add Tx.Return and a return value from Atomically Panic when trying to set a nil Var # Conflicts: # funcs.go | |||||
| | * | Add Tx.Return and a return value from Atomically | Matt Joiner | 2019-10-31 | 3 | -22/+42 | |
| | | | ||||||
| | * | Panic when trying to set a nil Var | Matt Joiner | 2019-10-29 | 1 | -0/+3 | |
| | | | | | | | | | | | | | This wasn't caught, and would cause errors later that weren't easy to trace. (cherry picked from commit 7b273432145605d367557e60ab51b9eb7dbbffeb) | |||||
| * | | Panic when trying to set a nil Var | Matt Joiner | 2019-10-25 | 1 | -0/+3 | |
| | | | | | | | | | This wasn't caught, and would cause errors later that weren't easy to trace. | |||||
| * | | Get rid of globalCond | Matt Joiner | 2019-10-23 | 3 | -7/+3 | |
| | | | ||||||
| * | | Register transaction condition with each read Var only | Matt Joiner | 2019-10-23 | 3 | -13/+27 | |
| |/ | ||||||
| * | Improve comment on Tx.verify | Matt Joiner | 2019-10-23 | 1 | -3/+1 | |
| | | ||||||
| * | Add PingPong test and benchmark | Matt Joiner | 2019-10-23 | 2 | -0/+46 | |
| | | ||||||
| * | Break up the stm.go file | Matt Joiner | 2019-10-23 | 7 | -269/+274 | |
| | | ||||||
