| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | remove unnecessary type parameters | Chris Wendt | 2022-06-08 | 7 | -25/+25 |
| | | |||||
| * | update README | Chris Wendt | 2022-06-08 | 2 | -11/+8 |
| | | |||||
| * | remove unused varSnapshot | Chris Wendt | 2022-06-08 | 1 | -6/+1 |
| | | |||||
| * | Use go master in CircleCI | Chris Wendt | 2022-06-08 | 1 | -1/+1 |
| | | | | | From https://github.com/anacrolix/stm/commit/8a06827bbcce34df143e4a47a1c5c7e8bf7c0433 | ||||
| * | Missing Operation type param in cmd/santa-example | Chris Wendt | 2022-06-08 | 1 | -1/+1 |
| | | | | | From https://github.com/anacrolix/stm/commit/6ce9dfc42c83a5d5963c23d85ffebffe0323432e | ||||
| * | Make Operation generic | Matt Joiner | 2022-06-08 | 4 | -21/+21 |
| | | | | | From https://github.com/anacrolix/stm/commit/80e033aa1f2218b83fb5891671ed795de72e19d5 | ||||
| * | BIG change: generic Var[T], txVar, etc. | Chris Wendt | 2022-06-08 | 14 | -188/+203 |
| | | |||||
| * | use generic atomic | Chris Wendt | 2022-06-08 | 5 | -7/+15 |
| | | |||||
| * | go mod tidy | Chris Wendt | 2022-06-07 | 2 | -20/+7 |
| | | |||||
| * | go mod edit -go=1.18 | Chris Wendt | 2022-06-07 | 1 | -1/+1 |
| | | |||||
| * | Create package-level example doc test from README | Matt Joiner | 2021-08-24 | 2 | -76/+83 |
| | | | | | This should synchronize the examples more with the actual API by actually running them. | ||||
| * | Update reference badge | Matt Joiner | 2021-08-24 | 1 | -1/+2 |
| | | |||||
| * | Remove retry profiles on Tx recycle | Matt Joiner | 2021-03-11 | 1 | -0/+3 |
| | | | | | This may fix a memory leak where the *Tx in retry profile keys holds on to old Tx and their writes. | ||||
| * | skip the retry profile Add | Matt Joiner | 2021-03-11 | 1 | -1/+1 |
| | | |||||
| * | Add AtomicModify | Matt Joiner | 2021-03-11 | 1 | -0/+13 |
| | | |||||
| * | Only wake Tx if they're still reading a modified value | Matt Joiner | 2020-10-02 | 3 | -3/+9 |
| | | |||||
| * | Use builtin eq var in rate and stmutil | Matt Joiner | 2020-10-02 | 2 | -2/+2 |
| | | | | | In particular, in the rate limiter this gives a massive performance increase. | ||||
| * | Add retry profiling | Matt Joiner | 2020-10-02 | 3 | -18/+42 |
| | | |||||
| * | 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). | ||||
