Comments (5)
Initial evaluation in ec14e63
See MaybeTxnSuite for several prototypes of the described static/dynamic hybrid lookup. The dynamic lookup costs about 10 nanoseconds on my laptop with either a 32 or 64 bit server VM. (static vs. dyn-delegating)
from ccstm.
As an alternative to an implicit object TxnUnknown extends MaybeTxn, a default value could be used
STM.atomic[Z](f: Txn => Z)(implicit ctx: MaybeTxn = TxnUnknown)
This might have less implicit priority issues, but is more verbose for user-specified Context-threading methods.
from ccstm.
Should this be a three-way thing, where we add an atomic-like escaped
operation that introduces a DefinitelyNoTxn
implicit that bypasses the dynamic check?
from ccstm.
API merged into master at b074e59
Issue remains open pending unit tests
from ccstm.
Fixed in 6710b13
from ccstm.
Related Issues (20)
- code duplication in NonTxn and NonTxnBound HOT 1
- add versions of Ref.Bound.await() and Txn.retry that take a timeout
- evaluate @specialized HOT 1
- add a third binding mode HOT 4
- update scaladoc to reflect nesting and the single/escaped binding modes HOT 4
- Maven pom.xml should run unit tests HOT 3
- add Scala target version to build number HOT 1
- Ref interface cleanup
- allow multiple metadata representation HOT 2
- better orElse syntax HOT 5
- consider replacing := with ()= HOT 3
- Add lazy-conflict version of all Ref types HOT 1
- BindingMode should be renamed AccessMode HOT 1
- get rid of IntRef HOT 1
- update docs to track STM.atomic -> atomic, and better orElse syntax HOT 2
- missing callback in WriteResource HOT 1
- STMBench7 harness
- consider changing beforeCommit and afterCommit function signatures
- TxnLocal enhancements HOT 1
- Ref and Ref.View for single should be the same instance
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ccstm.