aboutsummaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* Add failed commits profilingMatt Joiner2019-11-051-0/+13
* Add stmutil.ListMatt Joiner2019-11-051-0/+2
* No need to reset Tx before putting it in the PoolMatt Joiner2019-11-051-1/+0
* Optimize AtomicSetMatt Joiner2019-11-053-10/+14
* Add expvarsMatt Joiner2019-11-054-1/+14
* Update go.modMatt Joiner2019-11-042-0/+3
* Add parallel PingPong benchmark•••This should help demonstrate any speed-up from removing global synchronization primitives. Matt Joiner2019-11-042-1/+27
* Fix TestDecrement•••With only a single cpu it would spin endlessly without a synchronization point (since changing AtomicGet to use atomics). Matt Joiner2019-11-041-6/+4
* Use atomic.Value for Var stateMatt Joiner2019-11-041-14/+7
* Reduce transaction locking on Tx.waitMatt Joiner2019-11-041-2/+2
* Remove global lockMatt Joiner2019-11-044-19/+66
* Use atomic pointers for Var dataMatt Joiner2019-11-043-23/+31
* Transfer project stewardship to anacrolix•••See https://github.com/lukechampine/stm/issues/3#issuecomment-549087541. Matt Joiner2019-11-035-7/+11
* Add stm friendly rate limiter•••The tests are from golang.org/x/time/rate, and the limiter tries to have a similar API. Matt Joiner2019-11-022-0/+608
* stmutil.ContextDoneVar: Return true Var if the context is already done•••This prevents needless races, such as in some of the rate limiting tests. Matt Joiner2019-11-021-0/+3
* Add stmutil containers and ContextDoneVarMatt Joiner2019-11-014-0/+354
* Optimize a bunch of stuffMatt Joiner2019-10-313-13/+42
* Merge branch 'master' into var-conds•••* master: Add Tx.Return and a return value from Atomically Panic when trying to set a nil Var # Conflicts: # funcs.go Matt Joiner2019-10-313-22/+42
|\
| * Add Tx.Return and a return value from AtomicallyMatt Joiner2019-10-313-22/+42
| * Panic when trying to set a nil Var•••This wasn't caught, and would cause errors later that weren't easy to trace. (cherry picked from commit 7b273432145605d367557e60ab51b9eb7dbbffeb) Matt Joiner2019-10-291-0/+3
* | Panic when trying to set a nil Var•••This wasn't caught, and would cause errors later that weren't easy to trace. Matt Joiner2019-10-251-0/+3
* | Get rid of globalCondMatt Joiner2019-10-233-7/+3
* | Register transaction condition with each read Var onlyMatt Joiner2019-10-233-13/+27
|/
* Improve comment on Tx.verifyMatt Joiner2019-10-231-3/+1
* Add PingPong test and benchmarkMatt Joiner2019-10-232-0/+46
* Break up the stm.go fileMatt Joiner2019-10-237-269/+274
* Put benchmarks in their own fileMatt Joiner2019-10-232-122/+127
* Make the santa example a cmdMatt Joiner2019-10-231-2/+2
* Merge pull request #2 from anacrolix/go.mod•••Add go.mod fileLuke Champine2019-10-221-0/+3
|\
| * Add go.mod fileMatt Joiner2019-10-221-0/+3
|/
* broadcast in AtomicSetlukechampine2016-09-302-1/+24
* expand Select examplelukechampine2016-04-051-4/+20
* expand Pointers sectionlukechampine2016-04-041-1/+32
* add Go Report Card badgelukechampine2016-04-041-1/+1
* better pointer documentationlukechampine2016-04-032-0/+38
* go fmtlukechampine2016-04-031-1/+1
* avoid using pointers as Varslukechampine2016-04-031-11/+11
* add TestPanic and TestReadWritten•••100% test coverage! lukechampine2016-04-031-0/+22
* fix AtomicSet buglukechampine2016-04-031-4/+1
* add TestSelect and TestComposelukechampine2016-04-031-4/+58
* more idiomatic BenchmarkIncrementSTMlukechampine2016-04-021-2/+3
* use version in place of simple equalitylukechampine2016-04-021-23/+27
* add TestVerifylukechampine2016-04-021-0/+35
* document weak equalitylukechampine2016-03-311-0/+5
* rearrange + add commentslukechampine2016-03-311-20/+22
* only broadcast when at least one Var changedlukechampine2016-03-311-3/+5
* update README with examples + benchmarkslukechampine2016-03-311-0/+85
* replace RWMutex benchmarks with channel benchmarkslukechampine2016-03-311-15/+10
* tweak examplelukechampine2016-03-311-18/+16
* golintlukechampine2016-03-301-1/+1