Comments (2)
Hi,
Thanks for opening this issue and for your analysis!
This issue is related to the 2 issues opened on cpp_redis:
A few week ago I started to dig into it and I also found these 2 and couldn't remember the reason they were there (especially the process_rd one considering there is not even any in the process_wr one.).
I didn't had the time to dig more until now but I'm planning to solve it by the end of the week at the latest.
I also have to investigate CPU usage on mono-core systems but got some issues with my VMWare (license expired), so might delay a bit. So I guess I'll do the first fix and then investigate more on mono-core system (though the fix might be the same).
Best!
from tacopie.
Hi,
I just released version 2.4.3
.
I applied a fix concerning the unnecessary use of self-pipe and I hope this will help to solve the issue (I basically removed the
I also included a way to configure the timeout of select just in case by using the CMake variable SELECT_TIMEOUT (documentation has been updated to include this new variable).
I made some tests on my macbook (8 cores) and on a virtual machine (debian - 1 core), but on both I got low CPU usage before the fix when changing the cpp_redis
example (basically, the provided one does a while (!should_stop){} that obviously consumes 100% of a core, but when switching to a signaling condvar, CPU usage is really low).
So it is pretty hard for me to see if the fix is efficient.
Keep me up to date if you happen to test it, I would really appreciate :)
Otherwise, I'll close the issue in a few weeks in the absence of any response, the time to see if anyone complains again concerning CPU usage or not.
Best!
from tacopie.
Related Issues (20)
- Inconsistent async_read behaviour after 2.4.3 HOT 6
- if obj outputs to same path,will make error on the link. HOT 2
- Wiki possibly out of date for newest VS15 (2017) HOT 1
- Windows dynamic port range HOT 2
- when connect timeout is 0, connnect fail on same operating systems. HOT 2
- Build dynamic library failed on Windows HOT 10
- Conan package HOT 1
- How to make a broadcast on tcp server? HOT 2
- BAD HOT 1
- How can I use the tacopie server to send a lot of messages? HOT 2
- Tacopie TCP server library (read access violation after close under TCP zero window condition) HOT 4
- Does this library support unicode?
- Tacopie client: UDP? HOT 1
- change select with poll or epoll HOT 1
- Hello, may I ask how to handle network packets in the program?
- Running on vis. std. 2017
- How can I compile tacopie with Qt Creator? HOT 1
- tacopie thread_pool class variable m_nb_running_threads should lock to avoid race condition? HOT 3
- Branch on a garbage value
- smembers
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 tacopie.