Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |
| | ||||||
* | go fmt | lukechampine | 2016-04-03 | 1 | -1/+1 | |
| | ||||||
* | avoid using pointers as Vars | lukechampine | 2016-04-03 | 1 | -11/+11 | |
| | ||||||
* | add TestPanic and TestReadWritten | lukechampine | 2016-04-03 | 1 | -0/+22 | |
| | | | | 100% test coverage! | |||||
* | fix AtomicSet bug | lukechampine | 2016-04-03 | 1 | -4/+1 | |
| | ||||||
* | add TestSelect and TestCompose | lukechampine | 2016-04-03 | 1 | -4/+58 | |
| | ||||||
* | more idiomatic BenchmarkIncrementSTM | lukechampine | 2016-04-02 | 1 | -2/+3 | |
| | ||||||
* | use version in place of simple equality | lukechampine | 2016-04-02 | 1 | -23/+27 | |
| | ||||||
* | add TestVerify | lukechampine | 2016-04-02 | 1 | -0/+35 | |
| | ||||||
* | document weak equality | lukechampine | 2016-03-31 | 1 | -0/+5 | |
| | ||||||
* | rearrange + add comments | lukechampine | 2016-03-31 | 1 | -20/+22 | |
| |