Comments (11)
Thanks for releasing it so quickly!
from quantum.
We were long overdue for a release actually. The code has been stable for a while now. If any API's change, we will bump the major version so you will know if you need to modify your source. Hopefully this will not happen too often.
from quantum.
That is good to know that the code is stable. Is there a way to stress test it before we use it in our product? Any suggestions would be appreciated.
from quantum.
Hi @pradeepp2019, you can take a look into the tests directory, there are a few test which stress the library. For instance: here or using the Sequencer
class here but you just need to increase the taskCount
to whatever you want. Also note that with the Sequencer
class, for increased performance you should set the control queue id to be outside the range of the coroQueueIdRangeForAny
. See here and here.
PS: v1.1 has been released so you should use that one for now.
from quantum.
If you want to stress test the IO thread pool, and also if your application needs high-throughput, consider enabling load balancing option for the IO threads. This will multiple shared queues in non-blocking mode and should perform better under high loads.
from quantum.
Thanks for the info! Will try it out... Btw, I encountered boost related errors when I ran the test
errors.txt
"make quantum_tests". Attaching it here. Any idea why the errors come?
from quantum.
Check the value of BOOST_ROOT which you specify on the cmake command line. I believe the boost/intrusive_ptr.hpp
is not in your path.
You can also follow the steps here: https://github.com/bloomberg/quantum/blob/master/.travis.yml#L31
from quantum.
I was able to resolve that issue after upgrading boost to 1.69 version but still seeing below errors. This seems to be with respect to quantum. Have you encountered thes errors?
[root@tdnasrv10191 build]# make quantum_tests
[ 25%] Building CXX object tests/CMakeFiles/quantum_tests.dir/quantum_coro_ranges.cpp.o
cc1plus: error: -Wabi won't warn about anything [-Werror=abi]
cc1plus: note: -Wabi warns about differences from the most up-to-date ABI, which is also used by default
cc1plus: note: use e.g. -Wabi=11 to warn about changes from GCC 7
cc1plus: all warnings being treated as errors
make[3]: *** [tests/CMakeFiles/quantum_tests.dir/quantum_coro_ranges.cpp.o] Error 1
make[2]: *** [tests/CMakeFiles/quantum_tests.dir/all] Error 2
make[1]: *** [tests/CMakeFiles/quantum_tests.dir/rule] Error 2
make: *** [quantum_tests] Error 2
from quantum.
The minimum boost version required is 1.61 which cmake checks in the beginning via find_package
module. If you didn't get an error that means you already had a good boost version but perhaps it was not installed properly?
It's hard for me to know what exact issue you have since I can't see how you invoked cmake or what toolset you're using. This is not really an error, it's a warning which means that you're most likely using a very new compiler e.g. gcc 7 and you're compiling for c++11 which will be ABI incompatible with say gcc 5 compiling for c++11. To fix this you can:
- Silence the ABI warning by removing the -Wabi here
- If you don't want to change the source CMakeLists.txt you can set the env variable
CXXSTANDARD=14 or CXXSTANDARD=17
, clear you cmake cache and files and invoke cmake again. - Override the compile flags altoghether with
CXXFLAGS
environment variable likeCXXFLAGS="-Wall -Wextra ... "
but remove-Wabi
, clear cmake cache and invoke cmake again.
from quantum.
Thanks for the steps. It helped me move further. I am now getting the error "undefined reference to `testing::internal::EqFailure" which is related to gtest. I tried googling for this error but I am not able to fix it with the options mentioned. (gtest version 1.9.0). Any clues? Attached the error file.
errors.txt
from quantum.
Hi, this is exactly why the -Wabi warnings are important! Basically your gtest is compiled with an older, abi-incompatible compiler with the one you currently have. Solution: use an older compiler or build gtest from scrarch which is shown in the .yml file i send you earlier. I would go with the latter approach.
from quantum.
Related Issues (13)
- Fix GTEST CoreTest.CheckCoroutineQueuing which fails intermittently HOT 1
- Inefficient SpinLock implementation HOT 1
- Can not compile the tests, on Mac Big Sur, clang v12, CMake 3.19.1, boost v1.74.0 HOT 2
- c++20 coroutine HOT 1
- quantum won't compile due to usage of non-standard and non-portable C++ extensions HOT 6
- Tests fail: error: call to deleted constructor of 'Bloomberg::quantum::SpinLock' HOT 2
- Use of removed boost::coroutine2::detail::forced_unwind struct
- GCC 12 warning: Invalid memory model
- Spurious calls of task state handler in sequencer
- Testing on windows platform HOT 3
- Spurrious errros in exception handler test HOT 1
- wiki images broken HOT 1
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 quantum.