kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #05999
Re: [PATCH] wxWidgets 2.8 under Graphics Abstraction Layer Lib (GAL)
-
To:
KiCad Developers <kicad-developers@xxxxxxxxxxxxxxxxxxx>
-
From:
Dick Hollenbeck <dick@xxxxxxxxxxx>
-
Date:
Mon, 03 Jan 2011 17:42:58 -0600
-
In-reply-to:
<20110103232601.219160@gmx.net>
-
User-agent:
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101208 Thunderbird/3.1.7
On 01/03/2011 05:26 PM, "Torsten Hüter" wrote:
> Hi Dick,
>
>> Is this still on your to do list?
> Yes, of course, I just had not the time that I thought I would have and the example grows also bigger than expected ..
>
>> Some minor suggestions for improvements:
>>
>> 1)))))))))))))))))
>>
>> Also, std::list should be changed to std::deque wherever it is being used.
>> std::list is too slow for several reasons:
>> a separate heap allocation must happen just to store the separate linked
>> list backbone noes, per content node.
>> That linkedlist node must store a pointer to real content node, slowing
>> down
>> again the traversal, due to the dereferencing of the linked-list node
>> pointer.
>> Heap allocation is by far the slowest issue. You have twice as many in a
>> std::list, I will use std::deque. Its ten minutes to change it.
> Yes, I agree - this was just an initial choice - I've changed some types already to std::vector but the std::deque is also a good idea.
>
>> 2)))))))))))))))))
>>
>> I am not a fan of BOOST_FOREACH. Some in this team are, I am not. It does
>> not provide enough value for the costs:
>>
>> 1) obscurity about what code it is actually generating.
>>
>> 2) longer compile times.
>>
>> Suggest simply writing the 3 statements that the macro is replacing, so we
>> see what the compiler sees.
> The Eclipse CDT formatter has also a lot trouble with it. Good suggestion.
>
>> Again, I will need write access to this repo, if I am going to use it. I
>> was thinking of using it for a simple Sweet viewer. Of course I can
>> always
>> make my own copy of the repo and make it public, thanks to your generosity
>> of contributing this code under the GPL. If you are too busy, let me know
>> and I will do these items myself.
> Shouldn't take much time, I've changed only the directory structure a lot - I'll upload it in the next days.
>
> Bye ..
> Torsten
You da man!
std::vector is better than std::list. std::deque and std::vector are both
OK. The only difficulty with std::vector is if you hundreds of thousands of
points in a polyline, in which case the backbone array needs to be very
large. std::deque uses a segmented backbone, and could be slower than
std::vector for smaller numbers of points. So std::vector is fine if you
are already there.
Thank you.
Dick
Follow ups
References