Description
We had a report that gudhi 3.11 was 10 times slower than usual on some M4 system.
Looking at the logs of the latest PR, I notice for macos arm64
arm64-apple-darwin20.0.0-clang++ -D_LIBCPP_DISABLE_AVAILABILITY -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=11.0 -mmacosx-version-min=11.0 -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I$BUILD_PREFIX/venv/lib/python3.11/site-packages/numpy/_core/include -I$SRC_DIR/build/version/python/gudhi/ -I$PREFIX/include/eigen3 -I$PREFIX/include -I$PREFIX/include -I$SRC_DIR/build/version/ext/hera/include -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include -I$SRC_DIR/build/version/include -I$SRC_DIR/build/version/python/include -I$PREFIX/include/python3.11 -c gudhi/delaunay_complex.cpp -o build/temp.macosx-11.0-arm64-cpython-311/gudhi/delaunay_complex.o -DBOOST_RESULT_OF_USE_DECLTYPE -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -std=c++17 -DCGAL_EIGEN3_ENABLED -DCGAL_HEADER_ONLY -DCGAL_USE_GMP -DCGAL_USE_GMPXX -DCGAL_USE_MPFR -mmacosx-version-min=11.0
whereas linux x86_64 has (different file)
$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -D_LIBCPP_DISABLE_AVAILABILITY -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -fPIC -I$PREFIX/lib/python3.11/site-packages/numpy/_core/include -I$SRC_DIR/build/version/python/gudhi/ -I$PREFIX/include/eigen3 -I$PREFIX/include -I$PREFIX/include -I$SRC_DIR/build/version/ext/hera/include -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include -I$SRC_DIR/build/version/include -I$SRC_DIR/build/version/python/include -I$PREFIX/lib/python3.11/site-packages/pybind11/include -I$PREFIX/lib/python3.11/site-packages/pybind11/include -I$PREFIX/include/python3.11 -c gudhi/datasets/generators/_points.cc -o build/temp.linux-x86_64-cpython-311/gudhi/datasets/generators/_points.o -DBOOST_RESULT_OF_USE_DECLTYPE -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -std=c++17 -frounding-math -DCGAL_EIGEN3_ENABLED -DCGAL_HEADER_ONLY -DCGAL_USE_GMP -DCGAL_USE_GMPXX -DCGAL_USE_MPFR -fvisibility=hidden
Notice the lack of optimization flag for the Mac version. I am not sure where exactly the various flags are coming from, but the setuptools update that means that setting C(XX)FLAGS supersedes the default Python build flags (instead of being appended) may be related.