PDA

View Full Version : Robustness of Qt based projects



Sheng
16th April 2009, 21:06
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

Sheng
16th April 2009, 21:34
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?

drescherjm
16th April 2009, 22:02
http://www.paraview.org

This project is 2.6 million lines of code and uses Qt heavily.

Sheng
17th April 2009, 13:43
http://www.paraview.org

This project is 2.6 million lines of code and uses Qt heavily.

nice project, how is the performance?

wysota
18th April 2009, 22:13
The biggest project using Qt is KDE (www.kde.org).

As for robustness, it depends what you call robustness. MTF? MTR? Scalability? Performance?

drescherjm
19th April 2009, 17:02
nice project, how is the performance?

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.

Sheng
20th April 2009, 15:56
The biggest project using Qt is KDE (www.kde.org).

As for robustness, it depends what you call robustness. MTF? MTR? Scalability? Performance?

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.

drescherjm
20th April 2009, 17:17
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

wysota
20th April 2009, 17:32
Thanks for the reply.
robustness means application can stably run for a long time.
So you mean MTF.

Any kind of crash will not be tolerated.

Qt doesn't crash spontaneously. If your application crashes after hours of working, it will be caused by your code.

Sheng
20th April 2009, 18:23
So you mean MTF.


Qt doesn't crash spontaneously. If your application crashes after hours of working, it will be caused by your code.

Thanks, is there any robustness testing report? for example, how about 100 people connect to the server from nxclient and use KDE simultaneously? just curious.

Sheng
20th April 2009, 18:56
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

Very impressive, thanks.

wysota
23rd April 2009, 19:59
Thanks, is there any robustness testing report? for example, how about 100 people connect to the server from nxclient and use KDE simultaneously? just curious.

This is not robustness, this is scalability. And Qt has nothing to do with that by the way. Could you say what you need this information for anyway?

Sheng
23rd April 2009, 21:23
This is not robustness, this is scalability. And Qt has nothing to do with that by the way. Could you say what you need this information for anyway?

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.

wysota
23rd April 2009, 22:19
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?

bnolsen
25th April 2009, 15:29
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.