Commit Graph

283 Commits

Author SHA1 Message Date
Laurent Rineau 8eefb7f173 Merge branch 'master' into pr/lrineau/8273 2025-02-07 16:10:52 +01:00
Laurent Rineau bc44c91536 add a benchmark for Polyline_simplification_2
Using the tool `compare.py` from [Google Benchmark Tools][1]...

[1]: https://github.com/google/benchmark/blob/main/docs/tools.md

...given that:

  - `benchmark_simplify-AFTER` is the file `benchmark_simplify.cpp`
    compiled from this branch, and flags `-msse3  -DNDEBUG -O3`
    with gcc version 14.2.1,
  - `benchmark_simplify-BEFORE` is the same file
    compiled from the branch `master`, and same flags and compiler.

the command line was:

```shell
compare.py benchmarks build/Release/benchmark/Polyline_simplification_2/benchmark_simplify-BEFORE build/Release/benchmark/Polyline_simplification_2/benchmark_simplify-AFTER Data/data/wkt/norway-MP.wkt --benchmark_repetitions=20 --benchmark_counters_tabular=true --benchmark_time_unit=s
```

The following results show that there is a speedup
of about 15% (mean) or 18% (median)

```
RUNNING: build/Release/benchmark/Polyline_simplification_2/benchmark_simplify-BEFORE Data/data/wkt/norway-MP.wkt --benchmark_repetitions=20 --benchmark_counters_tabular=true --benchmark_time_unit=s --benchmark_out=/tmp/tmpvxyq_i24
2025-02-06T17:23:08+01:00
Running Data/data/wkt/norway-MP.wkt
Run on (16 X 800 MHz CPU s)
CPU Caches:
  L1 Data 48 KiB (x8)
  L1 Instruction 32 KiB (x8)
  L2 Unified 1280 KiB (x8)
  L3 Unified 24576 KiB (x1)
Load Average: 1.47, 2.07, 1.65
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Benchmark                                                 Time             CPU   Iterations    #points  #polygons #polylines nb of constraints nb of sub-constraints nb of vertices
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
simplify file Data/data/wkt/norway-MP.wkt             0.067 s         0.067 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.066 s         0.066 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.065 s         0.065 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.073 s         0.072 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.066 s         0.066 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.064 s         0.064 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.067 s         0.066 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.071 s         0.071 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.064 s         0.064 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.064 s         0.064 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.074 s         0.074 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.066 s         0.066 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.075 s         0.074 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.074 s         0.074 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.076 s         0.076 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.078 s         0.078 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.074 s         0.074 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.067 s         0.067 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.064 s         0.064 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.069 s         0.069 s            12          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt_mean        0.069 s         0.069 s            20          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt_median      0.067 s         0.067 s            20          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt_stddev      0.005 s         0.005 s            20          0          0          0                 0                     0              0
simplify file Data/data/wkt/norway-MP.wkt_cv           6.73 %          6.68 %            20      0.00%      0.00%      0.00%             0.00%                 0.00%          0.00%
RUNNING: build/Release/benchmark/Polyline_simplification_2/benchmark_simplify-AFTER Data/data/wkt/norway-MP.wkt --benchmark_repetitions=20 --benchmark_counters_tabular=true --benchmark_time_unit=s --benchmark_out=/tmp/tmp59ui0dsw
2025-02-06T17:29:26+01:00
Running Data/data/wkt/norway-MP.wkt
Run on (16 X 800.961 MHz CPU s)
CPU Caches:
  L1 Data 48 KiB (x8)
  L1 Instruction 32 KiB (x8)
  L2 Unified 1280 KiB (x8)
  L3 Unified 24576 KiB (x1)
Load Average: 1.61, 1.94, 1.73
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Benchmark                                                 Time             CPU   Iterations    #points  #polygons #polylines nb of constraints nb of sub-constraints nb of vertices
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
simplify file Data/data/wkt/norway-MP.wkt             0.054 s         0.054 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.057 s         0.057 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.059 s         0.059 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.065 s         0.065 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.058 s         0.058 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.056 s         0.056 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.053 s         0.053 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.061 s         0.061 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.058 s         0.058 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.052 s         0.052 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.054 s         0.054 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.055 s         0.054 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.054 s         0.054 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.055 s         0.054 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.054 s         0.054 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.059 s         0.059 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.057 s         0.057 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.058 s         0.057 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.055 s         0.055 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt             0.059 s         0.059 s            13          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt_mean        0.057 s         0.057 s            20          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt_median      0.057 s         0.056 s            20          0        848          0               849               40.568k        40.565k
simplify file Data/data/wkt/norway-MP.wkt_stddev      0.003 s         0.003 s            20          0          0          0                 0                     0              0
simplify file Data/data/wkt/norway-MP.wkt_cv           5.37 %          5.32 %            20      0.00%      0.00%      0.00%             0.00%                 0.00%          0.00%
Comparing build/Release/benchmark/Polyline_simplification_2/benchmark_simplify-BEFORE to build/Release/benchmark/Polyline_simplification_2/benchmark_simplify-AFTER
Benchmark                                                          Time             CPU      Time Old      Time New       CPU Old       CPU New
-----------------------------------------------------------------------------------------------------------------------------------------------
simplify file Data/data/wkt/norway-MP.wkt                       -0.1941         -0.1942             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1269         -0.1272             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.0900         -0.0918             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1049         -0.1065             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1204         -0.1206             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1279         -0.1282             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1962         -0.1961             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1370         -0.1377             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.0951         -0.0962             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1851         -0.1852             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.2720         -0.2716             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1702         -0.1717             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.2700         -0.2703             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.2644         -0.2634             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.2861         -0.2856             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.2492         -0.2488             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.2310         -0.2301             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1382         -0.1389             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1401         -0.1406             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt                       -0.1464         -0.1467             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt_pvalue                 0.0000          0.0000      U Test, Repetitions: 20 vs 20
simplify file Data/data/wkt/norway-MP.wkt_mean                  -0.1804         -0.1806             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt_median                -0.1547         -0.1549             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt_stddev                -0.3458         -0.3479             0             0             0             0
simplify file Data/data/wkt/norway-MP.wkt_cv                    -0.2018         -0.2041             0             0             0             0
OVERALL_GEOMEAN                                                 -0.1797         -0.1800             0             0             0             0
```
2025-02-06 17:44:28 +01:00
Laurent Rineau e5001d1a50 update our CMake version 3.18...3.31
That will suppress the warnings about `CMP0167` (from CMake 3.30):

```
CMake Warning (dev) at cmake/modules/display-third-party-libs-versions.cmake:37 (find_package):
  Policy CMP0167 is not set: The FindBoost module is removed.  Run "cmake
  --help-policy CMP0167" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.
```
2025-02-04 14:32:37 +01:00
Sebastien Loriot 25afb37051
Triangulation_2: Do not include kernel header (#8527)
## Summary of Changes

Do not include `Exact_predicates_inexact_constructions_kernel.h` and
`Simple_cartesian.h`.
Change order of `#include` statements so that the  T2 files come first.
Forward declare `Epick` in `Constrained_triangulation_plus_2` where it
is used for defining a `Default` for the template parameter (which is
not documented).

## Release Management

* Affected package(s): Triangulation_2
* License and copyright ownership: unchanged.
2024-11-08 16:11:41 +01:00
Sébastien Loriot fb605cdd39 remove -D that is not compatible with "older" cmake versions 2024-10-22 08:19:49 +02:00
Andreas Fabri 9e75ab340d Use add_compile_definitions 2024-10-09 11:58:52 +01:00
Andreas Fabri 9346dc4bbc Fix dependencies.txt 2024-10-08 14:44:23 +01:00
Sébastien Loriot 41b096c91a Merge remote-tracking branch 'cgal/5.6.x-branch' 2024-09-11 17:23:50 +02:00
Sébastien Loriot 4115afa3da Merge remote-tracking branch 'cgal/5.5.x-branch' 2024-09-10 13:51:15 +02:00
Sébastien Loriot 8448129a3a fix conditional compilation 2024-09-09 17:59:24 +02:00
Laurent Rineau 3a223ebd1e cmake_minimum_required(VERSION 3.12...3.29) 2024-06-06 20:19:44 +02:00
Laurent Rineau d7bf7dde55 Merge pull request #8119 from afabri/Polyline_simplification-doc_bug-GF
Polyline_simplification: fix documentation
2024-04-10 18:04:15 +02:00
Andreas Fabri 7059b5b524 Polyline_simplification: fix documentation 2024-04-04 07:56:45 +01:00
Sébastien Loriot 910945eb5f undo dependency changes + always use core if not disabled 2024-02-27 16:19:28 +01:00
Sébastien Loriot 3b30756cd3 do not depend on CGAL_Core 2024-02-27 14:46:18 +01:00
Andreas Fabri e4558a4d4b Merge branch 'master' into CORE-boost_mp_number-GF 2024-02-23 17:04:37 +01:00
Laurent Rineau 28632f21fc Merge branch 'master' into CGAL-Qt6-GF
# Conflicts:
#	Installation/CHANGES.md
2023-09-14 17:40:05 +02:00
Laurent Rineau 48f37a14dc remove occurrences of Qt5 2023-09-14 17:02:21 +02:00
Nicolas Saillant a4136707b2 More CMakeLists Updates for QT6 2023-09-11 09:51:06 +02:00
Nicolas Saillant 0303b8dfd5 Update CMakeLists for QT6 2023-09-05 15:58:43 +02:00
Sébastien Loriot 68bc244d02 Merge remote-tracking branch 'cgal/master' into HEAD 2023-08-24 14:14:12 +02:00
albert-github 93001308f4 Merge branch 'master' into feature/issue_7395
# Conflicts:
#	Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementPointLocation_2.h
#	Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementVerticalRayShoot_2.h
2023-08-18 11:10:42 +02:00
albert-github e4dff1ffaf issue #7395 Improvement of layout of model relations
Corrections after review.
2023-07-21 11:41:27 +02:00
albert-github ad41766454 issue #7395 Improvement of layout of model relations
Corrected `cgalModels` to `cgalHasModes` inside `cgalHasNodelsBegin` / `cgalHasModelsEnd`
2023-07-18 13:23:37 +02:00
albert-github 4e5578d469 issue #7395 Improvement of layout of model relations
- based on review
2023-07-15 13:12:15 +02:00
Sébastien Loriot 125542eb62 Merge remote-tracking branch 'cgal/master' 2023-07-11 12:59:21 +02:00
albert-github 301728a8a9 issue #7395 Improvement of layout of model relations
- Completed the cgalModels part
2023-07-09 12:43:36 +02:00
albert-github ee2a55279d issue #7395 Improvement of layout of model relations
- Completed the cgalHasModel part
- corrected spelling of `Has Model` and `Is Model Of` to `Has model` and `Is model of`
2023-07-06 17:35:34 +02:00
Sébastien Loriot b66afab814 Merge remote-tracking branch 'sloriot/CGAL-using_c++17_stl' into HEAD 2023-07-05 11:29:35 +02:00
Sébastien Loriot 04f52791d6 manually fix iterator category that seems to not work correctly when stacking boost::iterator_adaptor
also restore std::prev
2023-06-27 09:41:47 +02:00
Sébastien Loriot 4854c500b0 restore usage of boost prior/next that breaks at runtime 2023-06-26 17:41:16 +02:00
Sébastien Loriot f936680600 Merge remote-tracking branch 'cgal/master' into HEAD 2023-06-15 18:48:39 +02:00
Sébastien Loriot 9cdfe70abb Merge remote-tracking branch 'sloriot/CGAL-toward_6.0' 2023-06-15 11:34:09 +02:00
Sébastien Loriot 604dcdc435 boost::optional => std::optional 2023-06-15 10:57:09 +02:00
Laurent Rineau 0576e883f9 Merge branch 'CGAL-fix-Qt5-CMake-GF' into CGAL-Qt6-GF
# Conflicts:
#	AABB_tree/demo/AABB_tree/CMakeLists.txt
#	Alpha_shapes_3/demo/Alpha_shapes_3/CMakeLists.txt
#	Arrangement_on_surface_2/demo/Arrangement_on_surface_2/CMakeLists.txt
#	Circular_kernel_3/demo/Circular_kernel_3/CMakeLists.txt
#	GraphicsView/demo/Alpha_shapes_2/CMakeLists.txt
#	GraphicsView/demo/Apollonius_graph_2/CMakeLists.txt
#	GraphicsView/demo/Bounding_volumes/CMakeLists.txt
#	GraphicsView/demo/Circular_kernel_2/CMakeLists.txt
#	GraphicsView/demo/Generator/CMakeLists.txt
#	GraphicsView/demo/GraphicsView/CMakeLists.txt
#	GraphicsView/demo/L1_Voronoi_diagram_2/CMakeLists.txt
#	GraphicsView/demo/Largest_empty_rect_2/CMakeLists.txt
#	GraphicsView/demo/Periodic_2_triangulation_2/CMakeLists.txt
#	GraphicsView/demo/Polygon/CMakeLists.txt
#	GraphicsView/demo/Segment_Delaunay_graph_2/CMakeLists.txt
#	GraphicsView/demo/Segment_Delaunay_graph_Linf_2/CMakeLists.txt
#	GraphicsView/demo/Snap_rounding_2/CMakeLists.txt
#	GraphicsView/demo/Spatial_searching_2/CMakeLists.txt
#	GraphicsView/demo/Stream_lines_2/CMakeLists.txt
#	GraphicsView/include/CGAL/Qt/DemosMainWindow_impl.h
#	Hyperbolic_triangulation_2/demo/Hyperbolic_triangulation_2/CMakeLists.txt
#	Installation/cmake/modules/CGAL_add_test.cmake
#	Linear_cell_complex/demo/Linear_cell_complex/CMakeLists.txt
#	Optimal_transportation_reconstruction_2/demo/Optimal_transportation_reconstruction_2/CMakeLists.txt
#	Periodic_3_triangulation_3/demo/Periodic_3_triangulation_3/CMakeLists.txt
#	Periodic_3_triangulation_3/demo/Periodic_Lloyd_3/CMakeLists.txt
#	Polyhedron/demo/Polyhedron/polyhedron_demo_macros.cmake
#	Polyline_simplification_2/demo/Polyline_simplification_2/CMakeLists.txt
#	Principal_component_analysis/demo/Principal_component_analysis/CMakeLists.txt
#	Triangulation_3/demo/Triangulation_3/CMakeLists.txt
#	Triangulation_on_sphere_2/demo/Triangulation_on_sphere_2/CMakeLists.txt
2023-04-28 13:49:58 +02:00
Laurent Rineau fe5a36c08e fix all the CMakeLists.txt for Qt5 2023-04-27 17:27:37 +02:00
Sébastien Loriot e82d970d19 boost::next -> std::next 2023-04-23 22:37:07 +02:00
Sébastien Loriot 99619dc634 boost::prior -> std::prev 2023-04-23 22:37:07 +02:00
Andreas Fabri 0574c6ba4c Change the remaining CMakeLists.txt [skip ci] 2023-04-20 16:35:14 +01:00
Andreas Fabri 0d320e48a8 Merge branch 'Number_types-fix_VC2017_boost_mp-GF' into CORE-boost_mp_number-GF 2023-03-17 08:28:10 +01:00
albert-github 2d60f46985 issue #7231 Improvement of layout of refines relations.
- Adjusted cgalRefines according to reviews
- Implemented it in all files
2023-03-14 17:37:50 +01:00
Sébastien Loriot 9e72361537 All packages depends now on CGAL_Core (like Kernel) 2023-02-20 15:24:16 +01:00
Mael 153c603209
Merge branch 'master' into CGAL-Clean_CMakeLists.txt-GF 2023-01-27 22:09:02 +01:00
Laurent Rineau c5176ef327 Merge pull request #7166 from MaelRL/SLS-Memorize_trisegments-GF
Fix seed computation in SLS offset computation
2023-01-27 20:52:10 +01:00
Mael Rouxel-Labbé e2f1940747 Fix spelling 2023-01-04 16:17:15 +01:00
albert-github eed54a0ae5 spelling corrections
Some spelling corrections (Directories starting with `O`-`S` , first part),
some backward work
some forward work
2022-11-15 18:45:39 +01:00
Mael Rouxel-Labbé 4fc486b195 Purge CMakeLists.txts from obsolete code / noise 2022-09-06 16:19:11 +02:00
Mael Rouxel-Labbé 7cb21c24b0 Uniformize message() for missing 3rd party libraries
STATUS for non-essential, NOTICE for important stuff
2022-09-06 16:07:31 +02:00
Sebastien Loriot b8e3ab9a48
Merge pull request #6599 from afabri/Polyline_simplification-constref-GF
Polyline simplification: Use const&  in demo instead of copying a polygon
2022-05-26 18:11:38 +02:00
Andreas Fabri d476a017fa Polyline_simplification: Clean up examples 2022-05-24 12:38:28 +01:00