>I expect you to view those videos and to read those articles and then I expect
>you to apologise for this mail of yours.

Well qdoc was taking about 15 minutes to run on Qt5, so I followed Andreas' 
advice and changed the high-level algorithm. Now it runs in about 2 minutes. 

I suspect that swapping a QList for a QVector, where the QList is completely 
built all at once with usually only 2 or 3 elements and then traversed and 
destroyed all in the same function, won't reduce that 2 minutes by much. And we 
only run qdoc to rebuild the documentation.

I think this software engineering profession attracts obsessive-compulsive type 
thinkers (AKA perfectionists), because building a software system from a proper 
functional requirements list (written or mental) makes achieving perfection 
possible. Passing all the requirements tests is perfection by definition.

But the obsessive-compulsive type thinker (I am one myself) can become a bit of 
a pain sometimes. "striving to better, oft we mar what's well"  -- Kink Lear

I like QList. 

martin 


________________________________________
From: [email protected] 
<[email protected]> on behalf of 
Marc Mutz <[email protected]>
Sent: Sunday, July 12, 2015 6:18 PM
To: [email protected]
Subject: Re: [Development] Container benchmark was HEADS UP: Don't use QList,   
use Q_DECLARE_TYPEINFO

On Sunday 12 July 2015 16:29:58 Andreas Aardal Hanssen wrote:
> > On 12 Jul 2015, at 16:58, Marc Mutz <[email protected]> wrote:
> > That's because your benchmark runs entirely in L1.
> > If you want to test containers of 10, 100, 1000 and 10000 elements each,
> > then make
> > - one run over 1×N containers of 10000 elements each,
> > - one run over 10×N containers of 1000 elements each,
> > - one run over 100×N containers of 100 elements each,
> > - one run over 1000×N containers of 10 elements each.
>
> This is getting defensive, and quite frankly, a bit boring. The fact that
> half of the emails are from one author defending his absolute view with
> increasingly complex arguments suggests action points be taken and the
> debate be closed.

ROTFL. You made my day. Martin asks increasingly narrowly.focused questions,
and you make that into me being defensive. Yeah, right.

Obviously, I beg to differ. It's not *my* view. It's just not *your* view:

- Scott Meyers: https://www.youtube.com/watch?v=WDIkqP4JbkE
- Chandler Carruth: https://www.youtube.com/watch?v=fHNmRkzxHWs
- Herb Sutter: https://www.youtube.com/watch?v=L7zSU9HI-6I
- Alex Stepanov & Bjarne Stroustup:
http://www.stepanovpapers.com/container_benchmark.cpp
- Ulrich Drepper: http://www.akkadia.org/drepper/cpumemory.pdf

Clearly, all of the above (and Thiago, and Peppe, and Milian) are all wrong
and I am part of a big conspiracy.

> Clearly Marc should write a /book/ about which tricks should be applied
> when writing high performance code.

Those books have already been written. You should read them!

- Herb Sutter: Exception C++, More Exceptional C++, C++ Coding Standards
- Scott Meyers: Effective C++, More Effective C++, Effective STL, Effective
Modern C++
- ...

I expect you to view those videos and to read those articles and then I expect
you to apologise for this mail of yours.

Thanks,
Marc

--
Marc Mutz <[email protected]> | Senior Software Engineer
KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to