Subject: CGAL users discussion list
List archive
Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares
Chronological Thread
- From: Valentin Pi <>
- To:
- Subject: Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares
- Date: Tue, 9 Jan 2024 11:58:23 +0100
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23:rCICQaknFspS/DhJzdEAjNbo5gycIkRdPkR7XQ2eYbSJt1+Wr1Gzt xIYWG+COquMY2Oke99wPYi+pElUu8SBzoRqHgRk+Sk8QltH+JHPbTi7BhepbnnKdqUvb2o+s p5AMoGYRCwQZiWBzvt4GuG59RGQ7YnRGvymTrSs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws LsemeWGULOe82Ayaj58B56r8ks14Kyr4GJA5zTSWNgS1LPgvylNZH4gDfrpR5fIatE8NvK3Q e/F0Ia48gvxl/v6Io7Nfh7TKyXmc5aKVeS8oiI+t5uK3nCukhcPPpMTb5LwX6v4ZwKhxLidw P0V3XC5pJxA0qfkwIzxWDEAe81y0DEvFBYq7hFTvOTKp3AqfUcAzN1OJhE5O5Rb891uIm8Vr dkWNTkVNRGM0rfeLLKTEoGAh+wmK9T3eowaqjdmwC2x4fQOG8mZBf+QupkBg3Fq3qiiHt6GD yYdQSRmaBnGexxnNVIHTp4z9AutriahKWYF9g3IzUYxy2XU1CJs97/uDObcOefbHt1bsEfFh UuTqgwVBTlBaIzHkmramp62vcfEkir/HY4TD7al7eVCm0yW3mVVCRsMVFL9r+PRt6Klc9dYN lBS9S8+664/6CRHU+URQTWYii6LuAdfUuFJMONhsCSD16PMuAeWUz1soiF6VPQqs8o/RDoP3 1CPns/0CTEHjFFzYS3HnltzhW3jURX5PVM/iTk4oRwtz/SLnW3ephfIU8olH6ulyNv4BVkcI gxmTgBu2d3/buZSic1XGGwrZRry/fAlqSZrvm3qspqNtF8RWWJcT9XABaLnxfhBNp2FaVKKo WIJncOThMhXUsnRzX3XG7hQRO/1jxpgDNE6qQEwd3XG32vxk0NPgagKvWkhTKuUGpxVJmO2O ic/RysIvMICZxNGkpObk6rqV5Rylvi/fTgUfvHTaN1VKoN8HDJrDwk+DXN8K1vFyRB2+YlmY cnzWZ/1UR4yV/47pBLoHL11+eFwmUgDKZb7Hs2TI+KPiubFOxZ4iN4tbDOzUwzOxPLe+F6Nq YsHZ6NnCXx3CYXDX8UeyqZLRXhiEJTxLcyeRxV/J7PbcDl1UnosEeHQyr4Hcolo1fYd3OTR8 333HgcSxFPjjDeVYU+He1JyWoPJBJxflHMcOTBzHFCK33N4X52jwp1CfLQKfJ4m1tdZ89hKc 9c/df6tOM9/Egb8x2xFbL3WjpBTSxCwtAffYwuneGceerBjdSzo+/jlXA3lxCYTPAWKtO8Vg b6p5iXES7UtGiVgC8f3bqq07lWT5HIypsN7b3HqEPJyJnr+0dFNBXTqr/kVJ8osF03y9gGC3 VzLPSZC9Pj/nYAl1fLo24aGlt6NOMljFBN4G2L70+6HBRPC9DD+/b4aAfe6RhGDZmba4674W P50ycv7O/g5nFpnlYpwPrJo7KAm7evUuL5o4VV4LUrPcmiUJOtsElue0elLk5999LtTlA+1e 0CIo/1xG7GCPuH7G18weishSMm+1s8vpzqD1sRtfX3G5xJ28oGXDmRUHR2H0xJGIJVPbYgK/ OYGuewt0TKZtCYECNi9ox5xy3WtNV0FCqUuiYEbCtTkiy0t0VBzXqbfAS7XvrCKMstAAnA3E GXN2I7H2rBQ7WvZUn8JDXOW9/FstZcPnxFrzVE5OFWCnOTetMI3xBF89TcWTBxf6wduicZfG zFMGRVuBKOs+zxIupByb1q0EVscOCzDq13D9VQZsUb4EW+qbzXpB08gM7+v+Es5zTptTgJD9 uvF9Fe/ACfYR+Cv7C4cQkU/lufCS+Z2/Qj8mMyKOcSJMp05QDj9iJ+Vems6hEr7MPw1mXH4i 7FmzMRoZY3/EBwgkakxJo2Z9LYXETSvBmhJR9N/96IoQ0DYXhyP2ga1FkPgQfMVesT28nK5B fd+eeNJdRC1jxiVoh4hWKUjHr5TndwS3uQkRI/FH2A8juagnmJbi66Irinar003cupqivc4e 9/wdSrdM2m+hkl0um7qretCMFq3fOsrWQzY98K2+dUvCJgsnrxNc0Yz873spFSTElJt0Cy1t TP5RZ397rJd26U1uKW0CYRFJQG/Ce2rZdSy6Arp7uh/N4LeA/nBpyY+iwfBPT0PGZAzRt4ut 7CGkOCv7XP/pLxsDlzowciQJZJou/e3cvFcaP/sDX9gmiCHZs/gzj0D9028Kr1LiNlt3damd STpdPqPccMpZPkFyE13cyR+FzMvO5bzZIrkpgK/qK2oIToZ2grlMtim1CHIaUd2Syw2AKD9W zTE46uW2tNlrYpyXU5OQ7ksBpJjO1bsVJc3b9C753HSEmCshUjEobf40wYp7TbQEHSfDcLm+ tT/SwPjcAip8rT9pD2DX1eeYjVMZJq8vQUxQq7Z09txliz8A2sWa+IQLf3qz32SfjPajPnFi PPlNQPOyhkRmRxLdAW67NmLssK3GLkVItmgTtA21xr8Vsp1bb9sxJNu8zcm73oelv4PCg24A Yl2x0Ac9SRdDn2kqSj/KxB7bSpaKivm+081
- Ironport-hdrordr: A9a23:AcQQNKvk73kty2q0a1ZYI8727skDrtV00zEX/kB9WHVpm7+j5q KTdZUguSMc7Qx7ZJhOo7690cW7MBThHNtOkO8s1NSZPTUO2lHGEGgK1+KLrgEIWReOktK1vp 0QEJSWZueAaGRSsea/xhWkGNA9x9S9/Lmvnvq29QYXcegnUcFdBxwSMHfjLqSafng/OXKzea D32vZ6
- Ironport-phdr: A9a23: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 H8mRbpLElA4RKtyNw==
- Ironport-sdr: 659d26db_hKY/lTObL5WWU16tALMsQv3WjcOxw/VNmrMNHUP2tQ+a4Gc 1Ij8rso58gMoeKeVesyt68COisNz0vnylZtD44A==
- Ui-outboundreport: notjunk:1;M01:P0:/KbRS5g0q5g=;BRNlwGGEiBcHCbXVr31Vlt1idQh AiTG0XPTaDYsWr7SOIt7h7SrJocUWCwMMAdgwxNauppgBlxvm1hIK2i1awO2gQMK7Y7c7CRhW tShcVvI8JdIF0YqQ/BeCgpRnKwIuPqExGq3lN+99erdOJcqAsWsyRg4zGip16FG/ZCmhazYPO 7ql45lfJZ/xKVPkvd6go+NhSfTkVCYCW6k6qHZqLV220Uiyn9/9ta+tmHd8qG6pDAlyWzRmGl hc3WM0XrE3OEyCwHQicYO0AIqlCb+TGkQSGEyu0aMjpvoA0xVKd7okgJk+ts4HxuDHH2cYqVM s6prCaq4bSOJH1SMzl/mm7/ZgFgdJ+Sie9l3MD2NHwYzXbIIBXe4SuHh7SXF9RQaXaVUAYfid FhdEYXVTcZ/fT9V5XZzX+TPoD07sN2ZVOQXLFbq1VJYWk2F6DRNJyBh1sYGVTjQr8Nw4IvxH5 xkzef2a6cPPZDvmTwUgXXut7gn0FBXcPxkGgfwKvHnasqsVsNzSQNy7SsU102sId3tzBrI2X9 CUwKBuOm8jWPvUFHiecTHl4iEKQMbGuVb+wiN3UZg16aHQO9Y+CEP3IyNkYYZr0VoaT6zGAPm pxRaCa15046XQVzoZnTgOs+WW5tO9bWcEdFuK0Jrl7O9TtJebKzcFAw5jc6koiB8D+vEwOg4A ll+8JTE6crW2wCycohxKozqgnf8A8QaJftCvdo2mCTBNzSoJcMVVnF2Izd83UE8zyll+MwLpH 7K+IwZHIr/sTj9S6dnxiUxsl/deaR6SzmHWU2bOy54Skh0VHWYcNCv76p+llSmpMRUFn/DEKY 2QeKQYZBzqPRp8Oo7dSQ6uVKrEOZgQ4mVnmvh4FX026Hvvl3dgt9mwtfCN4rI6DVzpmn2iGta oj3vLVnBiXzpmn1LFVGtposi7pWyCdtwzSvUgw/cu7bUGpDq8L34v0w9/Z4dux8jPx/kpThnW U/7Xdg==
Yes, I just checked. Would be surprising to me if not, since there are unique coordinates for each triangle in the code.
Thanks for the quick reply.
1. I have now tried a couple of versions, but only from
the header-only versions. Denoted with the tag names each,
I give the following table of observed average times. The
numbers I gave initially were with v5.6, as already said.
Release tag - Observed
average runtime
6.0-dev [1] - 200µs
v5.6 - 200µs
v5.5 - 185µs
v5.4 - 275µs
v5.3 - 300µs
v5.2 - 275µs
v5.1 - 250µs
[1] The current version at
commit a15af8ef645c414956640348d036609b9a0a5c38.
I do not detect a degradation with any particular version,
except for a slight jump from 275µs to 185µs between v5.4
and v5.5. For the complexity of the problem anything over
a couple of µs is too much for our application, so all of
these times are problematic for us. I could try older
versions if you think it would make a difference.
2. I have tried convolution (in v5.6) and it gives about
the same time.
1. Have you measured it with a different version? I mean, are you detecting a degradation?2. Have you tried other implemented alg, or at least other decomposition methods?The call without a decomposition method invokes the partial-convolution method, which is the most efficient in most cases:CGAL::minkowski_sum_2(square_1, square_2);____ _ ____ _ /_____/_) o /__________ __ // (____ ( ( ( (_/ (_/-(-'_(/ _/
On Tue, 9 Jan 2024 at 01:09, Valentin Pi <> wrote:
Hello everyone,
I hope this issue fits this list. In our current project we need to compute a lot of small Minkowski sums, and I wanted to ask if someone could please give me some help in speeding that process up. The following CGAL program computing the Minkowski sum of two small polygons demonstrates the problem.
main.cpp:
#include <CGAL/Polygon_2.h>
#include <CGAL/Polygon_convex_decomposition_2.h>
#include <CGAL/Polygon_triangulation_decomposition_2.h>
#include <CGAL/minkowski_sum_2.h>
#include <chrono>
#include <iostream>
#include <vector>
typedef CGAL::Exact_predicates_exact_constructions_kernel Kernel;
typedef CGAL::Point_2<Kernel> Point;
typedef CGAL::Polygon_2<Kernel> Polygon;
typedef CGAL::Polygon_with_holes_2<Kernel> Polygon_with_holes;
int main(int argc, char** argv) {
using std::vector;
using std::chrono::high_resolution_clock;
vector square_1_points({Point(0, 0), Point(4, 0), Point(4, 4)});
vector square_2_points({Point(2, 1), Point(3, 1), Point(3, 2)});
Polygon square_1(square_1_points.begin(), square_1_points.end());
Polygon square_2(square_2_points.begin(), square_2_points.end());
auto t1 = high_resolution_clock::now();
Polygon_with_holes result =
CGAL::minkowski_sum_2(square_1, square_2, CGAL::Hertel_Mehlhorn_convex_decomposition_2<Kernel>());
auto t2 = high_resolution_clock::now();
std::cout << std::chrono::duration_cast<std::chrono::microseconds>(t2 - t1).count() << "µs" << std::endl;
return EXIT_SUCCESS;
}
CMakeLists.txt:
cmake_minimum_required(VERSION 3.19.1)
# SotMS: "Slowness of the Minkowski Sum"
project(sotms)
find_package(CGAL 5.6 REQUIRED COMPONENTS Core)
add_compile_options(-O2)
set(CMAKE_BUILD_TYPE Release)
add_executable(sotms src/main.cpp)
target_link_libraries(sotms CGAL::CGAL_Core)
Compilation and execution (move the main.cpp in a folder named src and the CMakeLists.txt in a folder above before):
$ cd src
$ cmake ..
$ make -j
$ ./sotms
I have observed the following:
1. The execution times for CGAL::minkowski_sum_2 for the above program lie around 200µs. This gives room for about 5000 Minkowski sums per second, which is not a lot, given the complexity of the above problem.
2. In the main project we usually have runtimes of about 1500µs. In some executions of our main project program the runtime jumps to several seconds up to minutes, but I cannot reproduce that well yet.
3. Repeating the above code (by introducing a for loop wrapping around the lines 23-27) yields runtimes of about 20µs, but I think this is due to optimizations, but 20µs is still too much.
4. Disabling optimizations (-O0) gives runtimes of about 1000µs for the first Minkowski sum, which then upon repetition of the computation breaks down to about 200µs again for some reason.
I have already tried changing the kernel to an inexact kernel, which still gives poor performance and does not suit our use case, since it often crashes. I am on an Arch Linux (x64) laptop, CGAL is compiled with GMP and MPFR, everything is up to date. The CGAL version in the Arch repository is 5.6
Best
Valentin
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss
- [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Valentin Pi, 01/09/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Efi Fogel, 01/09/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Valentin Pi, 01/09/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Efi Fogel, 01/09/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Valentin Pi, 01/09/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Efi Fogel, 01/09/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Valentin Pi, 01/09/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Efi Fogel, 01/10/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Valentin Pi, 01/10/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Andrew Cunningham, 01/12/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Andreas Fabri, 01/17/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Efi Fogel, 01/17/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Valentin Pi, 01/09/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Efi Fogel, 01/09/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Valentin Pi, 01/09/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Efi Fogel, 01/09/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Valentin Pi, 01/09/2024
- Re: [cgal-discuss] Slow Performance when Computing the Minkowski Sum of two Simple Squares, Efi Fogel, 01/09/2024
Archive powered by MHonArc 2.6.19+.