Comments (1)
A better idea: instead of complex mucking with refcount, we can put into that TLS variable arguments for the pending get (key, ksize, vbuf, vbufsize, offset, &vsize).
Then, a put, before even checking total cache size checks if there's a pending get — if yes and the key matches, we can satisfy it immediately, faster (DRAM->DRAM copy, no fragmentation). So even if the put fails for whatever reason, or the entry gets evicted before we return, all is done. There's also no need for the callback to tell us whether it succeeded as we already know that.
from vmemcache.
Related Issues (14)
- Store small cache entries on the stack? HOT 1
- Inconsistent naming: 'fragment' vs 'segment' HOT 2
- Is 'PMEM_MMAP_HINT' a proper name for an env used by vmemcache? HOT 3
- 'benchmarks/bench_simul /tmp warm_up=10000000' fails very often
- warning: ‘get_granular_rand_size’ defined but not used [-Wunused-function] HOT 2
- test-heap-usage fails with gcc-9 HOT 2
- callback_on_evict doesn't provide value_size
- Missing Coverity scans
- what's difference between VMEMCACHE_STAT_ENTRIE, VMEMCACHE_STAT_HEAP_ENTRIES and VMEMCACHE_STATS_NUM HOT 2
- FEAT: Atomic Put If Absent HOT 3
- How is LRU policy implemented? HOT 1
- FS-test-heap-usage fails: negative heap usage
- vmemcache perf can't scaling with multi-thread.
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 vmemcache.