Re: [Kicad-developers] Tiling Algorithm Improvements

2020-11-23 Thread Alex
@Tom

Yes, that's right. I was going to wait to respond until the morning, but
from as far as I can tell, this affects the Rect Packing.

I chose to start there, because it definitely seemed like it was written
with C++03 in mind.


On Mon, Nov 23, 2020, 10:49 PM Tomasz Wlostowski 
wrote:

> On 20/11/2020 10:02, Alex wrote:
> > Hi everyone,
> >
> > I started doing some C++11 modernization and Standard Library insertion
> > in the rectangular placement segment of the PCBNew, and in the process I
> > went down the rabbit hole of documentation for the algorithm. Out of
> > curiosity I adjusted the Greater algorithm from only sorting on the
> > longest side, to first sorting by longest side, and then sorting by
> > shortest side.
> >
> > I found that this small adjustment seemed to increase packing density
> > enough that when presented with 500 rectangles of randomly generated
> > size of (15x15) - (85x85) fit into surfaces of (255 x 255), the total
> > number of required surfaces went from ~28 to ~26. The catch is that the
> > initial sorting of the algorithm takes a little longer.
> >
> > Always the skeptic, I would like to know if there is currently a
> > methodology or recommendation for incorporating a benchmark test for
> > both space and time performance. At minimum, I can use Google Benchmark,
> > but I'd like to know if I should place the tests in the same folder, or
> > if there is another place for this kind of stuff.
> >
>
> Alex,
>
> Do you mean the rect packing algorithm used by the autoplacer?
>
> Tom
>
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Tiling Algorithm Improvements

2020-11-23 Thread Tomasz Wlostowski
On 20/11/2020 10:02, Alex wrote:
> Hi everyone,
> 
> I started doing some C++11 modernization and Standard Library insertion
> in the rectangular placement segment of the PCBNew, and in the process I
> went down the rabbit hole of documentation for the algorithm. Out of
> curiosity I adjusted the Greater algorithm from only sorting on the
> longest side, to first sorting by longest side, and then sorting by
> shortest side.
> 
> I found that this small adjustment seemed to increase packing density
> enough that when presented with 500 rectangles of randomly generated
> size of (15x15) - (85x85) fit into surfaces of (255 x 255), the total
> number of required surfaces went from ~28 to ~26. The catch is that the
> initial sorting of the algorithm takes a little longer.
> 
> Always the skeptic, I would like to know if there is currently a
> methodology or recommendation for incorporating a benchmark test for
> both space and time performance. At minimum, I can use Google Benchmark,
> but I'd like to know if I should place the tests in the same folder, or
> if there is another place for this kind of stuff.
> 

Alex,

Do you mean the rect packing algorithm used by the autoplacer?

Tom

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Tiling Algorithm Improvements

2020-11-23 Thread Seth Hillbrand
Hi Alex-

You are probably not getting many replies to this message as we're not
quite sure what aspect of KiCad you are looking at.  We might be able to
comment better with a bit more detail.

Best-
Seth

On Fri, Nov 20, 2020 at 1:03 AM Alex  wrote:

> Hi everyone,
>
> I started doing some C++11 modernization and Standard Library insertion in
> the rectangular placement segment of the PCBNew, and in the process I went
> down the rabbit hole of documentation for the algorithm. Out of curiosity I
> adjusted the Greater algorithm from only sorting on the longest side, to
> first sorting by longest side, and then sorting by shortest side.
>
> I found that this small adjustment seemed to increase packing density
> enough that when presented with 500 rectangles of randomly generated size
> of (15x15) - (85x85) fit into surfaces of (255 x 255), the total number of
> required surfaces went from ~28 to ~26. The catch is that the initial
> sorting of the algorithm takes a little longer.
>
> Always the skeptic, I would like to know if there is currently a
> methodology or recommendation for incorporating a benchmark test for both
> space and time performance. At minimum, I can use Google Benchmark, but I'd
> like to know if I should place the tests in the same folder, or if there is
> another place for this kind of stuff.
>
> Thanks,
> Alex
> ___
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>


-- 
[image: KiCad Services Corporation Logo]
Seth Hillbrand
*Lead Developer*
+1-530-302-5483‬
Long Beach, CA
www.kipro-pcb.comi...@kipro-pcb.com
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


[Kicad-developers] Tiling Algorithm Improvements

2020-11-20 Thread Alex
Hi everyone,

I started doing some C++11 modernization and Standard Library insertion in
the rectangular placement segment of the PCBNew, and in the process I went
down the rabbit hole of documentation for the algorithm. Out of curiosity I
adjusted the Greater algorithm from only sorting on the longest side, to
first sorting by longest side, and then sorting by shortest side.

I found that this small adjustment seemed to increase packing density
enough that when presented with 500 rectangles of randomly generated size
of (15x15) - (85x85) fit into surfaces of (255 x 255), the total number of
required surfaces went from ~28 to ~26. The catch is that the initial
sorting of the algorithm takes a little longer.

Always the skeptic, I would like to know if there is currently a
methodology or recommendation for incorporating a benchmark test for both
space and time performance. At minimum, I can use Google Benchmark, but I'd
like to know if I should place the tests in the same folder, or if there is
another place for this kind of stuff.

Thanks,
Alex
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp