Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |
| | ||||||
* | Put benchmarks in their own file | Matt Joiner | 2019-10-23 | 2 | -122/+127 | |
| | ||||||
* | Make the santa example a cmd | Matt Joiner | 2019-10-23 | 1 | -2/+2 | |
| | ||||||
* | Merge pull request #2 from anacrolix/go.mod | Luke Champine | 2019-10-22 | 1 | -0/+3 | |
|\ | | | | | Add go.mod file | |||||
| * | Add go.mod file | Matt Joiner | 2019-10-22 | 1 | -0/+3 | |
|/ | ||||||
* | broadcast in AtomicSet | lukechampine | 2016-09-30 | 2 | -1/+24 | |
| | ||||||
* | expand Select example | lukechampine | 2016-04-05 | 1 | -4/+20 | |
| | ||||||
* | expand Pointers section | lukechampine | 2016-04-04 | 1 | -1/+32 | |
| | ||||||
* | add Go Report Card badge | lukechampine | 2016-04-04 | 1 | -1/+1 | |
| | ||||||
* | better pointer documentation | lukechampine | 2016-04-03 | 2 | -0/+38 | |
| |