[ https://issues.apache.org/jira/browse/ARROW-18039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17640470#comment-17640470 ]
Kouhei Sutou commented on ARROW-18039: -------------------------------------- Worst 100 build time on my local Windows: {noformat} 1: 124.790000s: google_cloud_cpp_ep-prefix/src/google_cloud_cpp_ep-stamp/google_cloud_cpp_ep-build, google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_storage.a, google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_rest_internal.a, google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_common.a, C:/Users/kou/work/arrow/build-msys/google_cloud_cpp_ep-prefix/src/google_cloud_cpp_ep-stamp/google_cloud_cpp_ep-build, C:/Users/kou/work/arrow/build-msys/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_storage.a, C:/Users/kou/work/arrow/build-msys/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_rest_internal.a, C:/Users/kou/work/arrow/build-msys/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_common.a 2: 103.922000s: src/parquet/CMakeFiles/parquet-arrow-test.dir/arrow/arrow_reader_writer_test.cc.obj 3: 94.791000s: src/arrow/compute/kernels/CMakeFiles/arrow-compute-vector-test.dir/vector_replace_test.cc.obj 4: 81.723000s: src/arrow/compute/kernels/CMakeFiles/arrow-compute-scalar-test.dir/scalar_if_else_test.cc.obj 5: 72.075000s: src/arrow/compute/kernels/CMakeFiles/arrow-compute-aggregate-test.dir/aggregate_test.cc.obj 6: 64.858000s: src/arrow/CMakeFiles/arrow-array-test.dir/array/array_test.cc.obj 7: 57.531000s: src/arrow/compute/kernels/CMakeFiles/arrow-compute-scalar-test.dir/scalar_arithmetic_test.cc.obj 8: 42.816000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/vector_sort.cc.obj 9: 41.387000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/scalar_arithmetic.cc.obj 10: 37.235000s: src/arrow/compute/kernels/CMakeFiles/arrow-compute-vector-test.dir/vector_selection_test.cc.obj 11: 37.111000s: src/arrow/compute/kernels/CMakeFiles/arrow-compute-scalar-test.dir/scalar_compare_test.cc.obj 12: 36.954000s: src/arrow/CMakeFiles/arrow-array-test.dir/array/array_dict_test.cc.obj 13: 36.640000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/hash_aggregate.cc.obj 14: 33.652000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/scalar_temporal_binary.cc.obj 15: 33.567000s: src/arrow/compute/kernels/CMakeFiles/arrow-compute-scalar-test.dir/scalar_string_test.cc.obj 16: 30.662000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/scalar_temporal_unary.cc.obj 17: 30.403000s: src/arrow/dataset/CMakeFiles/arrow-dataset-scanner-test.dir/scanner_test.cc.obj 18: 29.843000s: src/arrow/CMakeFiles/arrow_shared.dir/builder.cc.obj 19: 29.193000s: src/arrow/CMakeFiles/arrow-sparse-tensor-test.dir/sparse_tensor_test.cc.obj 20: 29.089000s: src/arrow/util/CMakeFiles/arrow-utility-test.dir/small_vector_test.cc.obj 21: 28.395000s: src/arrow/filesystem/CMakeFiles/arrow-gcsfs-test.dir/gcsfs_test.cc.obj 22: 28.305000s: src/arrow/ipc/CMakeFiles/arrow-ipc-read-write-test.dir/read_write_test.cc.obj 23: 26.873000s: src/arrow/CMakeFiles/arrow-scalar-test.dir/scalar_test.cc.obj 24: 26.222000s: src/gandiva/CMakeFiles/gandiva_shared.dir/function_registry_arithmetic.cc.obj 25: 25.608000s: src/arrow/util/CMakeFiles/arrow-async-utility-test.dir/async_generator_test.cc.obj 26: 25.414000s: src/arrow/compute/kernels/CMakeFiles/arrow-compute-aggregate-test.dir/hash_aggregate_test.cc.obj 27: 23.884000s: src/arrow/compute/kernels/CMakeFiles/arrow-compute-vector-test.dir/vector_sort_test.cc.obj 28: 22.756000s: src/gandiva/tests/CMakeFiles/gandiva-projector-test.dir/projector_test.cc.obj 29: 20.789000s: src/arrow/ipc/CMakeFiles/arrow-ipc-json-simple-test.dir/json_simple_test.cc.obj 30: 20.290000s: src/parquet/CMakeFiles/parquet-writer-test.dir/column_writer_test.cc.obj 31: 19.539000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/aggregate_basic.cc.obj 32: 19.115000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/scalar_string_ascii.cc.obj 33: 19.045000s: src/arrow/util/CMakeFiles/arrow-utility-test.dir/decimal_test.cc.obj 34: 18.993000s: src/arrow/dataset/CMakeFiles/arrow-dataset-file-parquet-test.dir/file_parquet_test.cc.obj 35: 18.743000s: src/arrow/compute/exec/CMakeFiles/arrow-compute-plan-test.dir/plan_test.cc.obj 36: 18.203000s: src/arrow/compute/kernels/CMakeFiles/arrow-compute-vector-test.dir/vector_hash_test.cc.obj 37: 17.673000s: src/arrow/dataset/CMakeFiles/arrow-dataset-partition-test.dir/partition_test.cc.obj 38: 16.936000s: src/arrow/CMakeFiles/arrow-array-test.dir/array/array_binary_test.cc.obj 39: 16.518000s: src/arrow/c/CMakeFiles/arrow-c-bridge-test.dir/bridge_test.cc.obj 40: 16.342000s: src/parquet/CMakeFiles/parquet-internals-test.dir/statistics_test.cc.obj 41: 16.215000s: src/arrow/compute/exec/CMakeFiles/arrow-compute-hash-join-node-test.dir/hash_join_node_test.cc.obj 42: 15.976000s: src/arrow/dataset/CMakeFiles/arrow-dataset-file-ipc-test.dir/file_ipc_test.cc.obj 43: 15.845000s: src/arrow/CMakeFiles/arrow-type-test.dir/type_test.cc.obj 44: 15.689000s: src/arrow/flight/CMakeFiles/arrow-flight-test.dir/flight_test.cc.obj 45: 15.688000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/scalar_compare.cc.obj 46: 15.559000s: src/arrow/compute/kernels/CMakeFiles/arrow-compute-scalar-test.dir/scalar_cast_test.cc.obj 47: 15.358000s: src/arrow/compute/exec/CMakeFiles/arrow-compute-asof-join-node-test.dir/asof_join_node_test.cc.obj 48: 15.162000s: src/parquet/CMakeFiles/parquet_shared.dir/column_reader.cc.obj 49: 15.084000s: src/arrow/flight/CMakeFiles/arrow_flight_testing_shared.dir/test_util.cc.obj 50: 14.919000s: src/parquet/CMakeFiles/parquet-writer-test.dir/file_serialize_test.cc.obj 51: 14.812000s: src/arrow/dataset/CMakeFiles/arrow_dataset_shared.dir/scanner.cc.obj 52: 14.791000s: src/arrow/CMakeFiles/arrow_shared.dir/ipc/json_simple.cc.obj 53: 14.543000s: src/parquet/CMakeFiles/parquet-internals-test.dir/encoding_test.cc.obj 54: 14.490000s: src/parquet/CMakeFiles/parquet_shared.dir/encoding.cc.obj 55: 14.360000s: src/arrow/compute/exec/CMakeFiles/arrow-compute-expression-test.dir/expression_test.cc.obj 56: 14.101000s: src/arrow/compute/kernels/CMakeFiles/arrow-compute-vector-test.dir/select_k_test.cc.obj 57: 14.070000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/scalar_if_else.cc.obj 58: 13.958000s: src/arrow/compute/kernels/CMakeFiles/arrow-compute-scalar-test.dir/scalar_temporal_test.cc.obj 59: 13.921000s: src/arrow/CMakeFiles/arrow_shared.dir/filesystem/s3fs.cc.obj 60: 13.896000s: src/arrow/CMakeFiles/arrow-array-test.dir/array/array_list_test.cc.obj 61: 13.526000s: src/arrow/dataset/CMakeFiles/arrow-dataset-file-test.dir/file_test.cc.obj 62: 13.449000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/vector_array_sort.cc.obj 63: 13.385000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/api_scalar.cc.obj 64: 13.332000s: release/libarrow.dll, release/libarrow.dll.a 65: 13.302000s: src/arrow/dataset/CMakeFiles/arrow-dataset-dataset-test.dir/dataset_test.cc.obj 66: 12.982000s: src/arrow/filesystem/CMakeFiles/arrow-s3fs-test.dir/s3fs_test.cc.obj 67: 12.980000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/vector_selection.cc.obj 68: 12.979000s: src/arrow/util/CMakeFiles/arrow-bit-utility-test.dir/bit_util_test.cc.obj 69: 12.950000s: src/gandiva/CMakeFiles/gandiva_shared.dir/function_registry_hash.cc.obj 70: 12.650000s: src/parquet/CMakeFiles/parquet_shared.dir/column_writer.cc.obj 71: 12.452000s: src/arrow/ipc/CMakeFiles/arrow-ipc-tensor-test.dir/tensor_test.cc.obj 72: 12.379000s: src/arrow/util/CMakeFiles/arrow-threading-utility-test.dir/future_test.cc.obj 73: 12.304000s: src/parquet/CMakeFiles/parquet-arrow-test.dir/arrow/arrow_schema_test.cc.obj 74: 12.165000s: src/arrow/filesystem/CMakeFiles/arrow-s3fs-test.dir/s3_test_util.cc.obj 75: 12.160000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/scalar_cast_numeric.cc.obj 76: 12.114000s: src/arrow/CMakeFiles/arrow_shared.dir/scalar.cc.obj 77: 12.045000s: src/gandiva/precompiled/CMakeFiles/gandiva-precompiled-test.dir/string_ops_test.cc.obj 78: 11.973000s: src/parquet/CMakeFiles/parquet-schema-test.dir/schema_test.cc.obj 79: 11.749000s: src/arrow/compute/kernels/CMakeFiles/arrow-compute-scalar-test.dir/scalar_nested_test.cc.obj 80: 11.596000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/scalar_nested.cc.obj 81: 11.324000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/aggregate_basic_avx2.cc.obj 82: 11.218000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/exec/expression.cc.obj 83: 11.173000s: src/arrow/filesystem/CMakeFiles/arrow-filesystem-test.dir/filesystem_test.cc.obj 84: 11.133000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/scalar_cast_string.cc.obj 85: 11.130000s: src/arrow/flight/CMakeFiles/arrow_flight_shared.dir/transport/grpc/protocol_grpc_internal.cc.obj 86: 10.955000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/aggregate_mode.cc.obj 87: 10.868000s: src/arrow/CMakeFiles/arrow-misc-test.dir/result_test.cc.obj 88: 10.686000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/scalar_string_utf8.cc.obj 89: 10.674000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/kernels/vector_hash.cc.obj 90: 10.616000s: src/arrow/CMakeFiles/arrow_shared.dir/ipc/reader.cc.obj 91: 10.556000s: src/arrow/io/CMakeFiles/arrow-io-memory-test.dir/memory_test.cc.obj 92: 10.507000s: src/parquet/CMakeFiles/parquet-reader-test.dir/reader_test.cc.obj 93: 10.327000s: src/arrow/testing/CMakeFiles/arrow-random-test.dir/random_test.cc.obj 94: 10.325000s: src/arrow/compute/kernels/CMakeFiles/arrow-compute-scalar-test.dir/scalar_set_lookup_test.cc.obj 95: 10.250000s: src/parquet/CMakeFiles/parquet_shared.dir/__/generated/parquet_types.cpp.obj 96: 10.240000s: src/arrow/CMakeFiles/arrow_shared.dir/compute/exec/tpch_node.cc.obj 97: 10.137000s: src/arrow/dataset/CMakeFiles/arrow-dataset-discovery-test.dir/discovery_test.cc.obj 98: 10.137000s: src/arrow/compute/exec/CMakeFiles/arrow-compute-tpch-node-test.dir/tpch_node_test.cc.obj 99: 9.922000s: src/arrow/util/CMakeFiles/arrow-threading-utility-test.dir/thread_pool_test.cc.obj 100: 9.895000s: src/gandiva/CMakeFiles/gandiva_shared.dir/function_registry_math_ops.cc.obj {noformat} > [C++][CI] Reduce MinGW build times > ---------------------------------- > > Key: ARROW-18039 > URL: https://issues.apache.org/jira/browse/ARROW-18039 > Project: Apache Arrow > Issue Type: Wish > Components: C++, Continuous Integration > Reporter: Antoine Pitrou > Assignee: Kouhei Sutou > Priority: Major > > The MinGW C++ builds on CI currently build in release mode. This is probably > because debug builds on Windows are complicated (you must get all the > dependencies also compiled in debug mode, AFAIU). > However, we could probably disable optimizations, so as to reduce compilation > times. > The compilation flags are currently as follows: > {code} > -- CMAKE_C_FLAGS: -O2 -DNDEBUG -ftree-vectorize -Wa,-mbig-obj -Wall > -Wno-conversion -Wno-sign-conversion -Wunused-result > -fno-semantic-interposition -mxsave -msse4.2 > -- CMAKE_CXX_FLAGS: -Wno-noexcept-type -fdiagnostics-color=always -O2 > -DNDEBUG -ftree-vectorize -Wa,-mbig-obj -Wall -Wno-conversion > -Wno-sign-conversion -Wunused-result -fno-semantic-interposition -mxsave > -msse4.2 > {code} > Perhaps we can pass {{-O0}}? -- This message was sent by Atlassian Jira (v8.20.10#820010)