Any one knows the information of robustness of large Qt based projects, assuming the design has no problem, signal/slot and threads will be heavily used, source code>100,000 lines.
Thanks
Any one knows the information of robustness of large Qt based projects, assuming the design has no problem, signal/slot and threads will be heavily used, source code>100,000 lines.
Thanks
Last edited by Sheng; 16th April 2009 at 21:11.
I found some online, Adobe Photoshop Album, Google Earth, the Netflix Player by Roku, and Skype's Linux client.
I am more interested in control software, any more examples?
http://www.paraview.org
This project is 2.6 million lines of code and uses Qt heavily.
John
The biggest project using Qt is KDE.
As for robustness, it depends what you call robustness. MTF? MTR? Scalability? Performance?
Sheng (20th April 2009)
Performance is good. Flexibility is excellent. Also cross platform support is very good.
With that said I am mainly interested in paraview for its design and what it can teach me about combining Qt and VTK for usage in medical imaging research applications. Specifically for viewing and analyzing Breast and Lung CT data. At 2.6 million lines of code the project is too large for me to incorporate my additions for my data sets well unless I get a 16 core machine and 32GB of memory with and a SSD raid 0.
John
Thanks for the reply.
robustness means application can stably run for a long time. With large amount of data comes in real time, several threads will process the data, and several threads will control motors and other hardwares based on the analysis. Analysis results and other parameters will be updated quickly in the view. Any kind of crash will not be tolerated.
I have had kde-3.5.X run for several months without any stability problems. Also I have had mythtv run over a year without exiting and without issue.
www.mythtv.org
Last edited by drescherjm; 20th April 2009 at 17:27.
John
Sheng (20th April 2009)
Just want to know how Qt application works with heavy load of signals and threads. Our application used to work fine for several days then crashes, it can happen in second day or in 10th day. Now we decreased the load of signals and threads and improved the Controller, it can work for long time.
Having too many signals emitted can slow down your application but not crash it. There has to be something wrong in your application logic. What did the debugger say? Where did the crash occur? Maybe you simply have a memory leak and you run out of resources?
You asked all the wrong questions.
Robustness starts with design and choice of hardware/tools, not a toolkit.
Based on my little experience with hydroelectric & natural gas monitoring
#1 - if your running windows you've already lost (definitely true pre vista64...I have suspicion server 2008 x64 is also not robust).
#2 - your primary systems should coded leveraging the OS itself -- no GUI components. Cross platform is nice but you trade robustness. With Qt this definitely is always a moving target (and partly why my company dumped Qt).
#3 - Core robust systems should not be gui-ized. GUI should only interact with/reflect those system states using some communication mechanism.
Bookmarks