Comments (2)
It may lead to degraded performance in common case, if we delay the allocation of stack in thread_create() until insertion a thread into waitq, because that would incur memcpy() to move frames from old stack to new stack. Furthermore, the silent movement of the frames and the objects allocated in them would also incurs compatibility issues.
Photon already has thread pool that may solve your problem.
BTW,, variable-length stack is not on the list yet. I believe large-enough stacks can solve all the problems easily.
from photonlibos.
It may lead to degraded performance in common case, if we delay the allocation of stack in thread_create() until insertion a thread into waitq, because that would incur memcpy() to move frames from old stack to new stack. Furthermore, the silent movement of the frames and the objects allocated in them would also incurs compatibility issues.
Photon already has thread pool that may solve your problem.
BTW,, variable-length stack is not on the list yet. I believe large-enough stacks can solve all the problems easily.
Get it. Thank you for your explanation. I will dive into Photon ThreadPool and then figure it out.
from photonlibos.
Related Issues (20)
- use jemalloc as memory pool HOT 2
- Macos构建失败 HOT 2
- Compare with seastar ? HOT 2
- update benchmark result(asyncio) HOT 5
- Purpose of asymmetric_spinLock HOT 6
- photon stack 有支持spdk的blobfs计划吗 HOT 4
- How to implement streaming client that terminates after data transfer completion HOT 3
- Creating and joining a number of threads only known at runtime HOT 22
- IOURING and EchoServer fails : free() Invalid Pointer HOT 18
- Repeated Timer and async_run HOT 5
- IO_Uring send: Broken pipe HOT 7
- More examples / documentation on Photon Filesystem HOT 3
- Phonton Threads NOT working HOT 14
- PhotonLib crashes with other thread models HOT 4
- Photon Threads Affinity HOT 13
- Any plans on roadmap to add support for DPDK blobfs/blobstore HOT 14
- Socket recv_errqueue:deferred copy occurs message HOT 6
- Is there a way to call `photon::thread_create11()` from C by using a void* function pointer? HOT 8
- Is it possible to use libc functions for networking and IO with Photon coroutines? HOT 18
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 photonlibos.