Skip to content

[bench] Replace pure-Rust snap with C++ snappy library for parquet (de)compression#9528

Draft
Dandandan wants to merge 3 commits intoapache:mainfrom
Dandandan:snappy_cpp
Draft

[bench] Replace pure-Rust snap with C++ snappy library for parquet (de)compression#9528
Dandandan wants to merge 3 commits intoapache:mainfrom
Dandandan:snappy_cpp

Conversation

@Dandandan
Copy link
Contributor

@Dandandan Dandandan commented Mar 10, 2026

#9530

Use snappy_src (C++ snappy bindings) for raw snappy compress/decompress instead of the pure-Rust snap crate, while keeping snap as a dependency for CLI framed format support.

Getting some good perf numbers here.

Which issue does this PR close?

  • Closes #NNN.

Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

Use snappy_src (C++ snappy bindings) for raw snappy compress/decompress
instead of the pure-Rust snap crate, while keeping snap as a dependency
for CLI framed format support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Dandandan
Copy link
Contributor Author

run benchmark arrow_reader_clickbench

@alamb-ghbot
Copy link

🤖 ./gh_compare_arrow.sh gh_compare_arrow.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing snappy_cpp (f2ae7e4) to 9d0e8be diff
BENCH_NAME=arrow_reader_clickbench
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench arrow_reader_clickbench
BENCH_FILTER=
BENCH_BRANCH_NAME=snappy_cpp
Results will be posted here when complete

@Dandandan Dandandan changed the title Replace pure-Rust snap with C++ snappy library for parquet compression Replace pure-Rust snap with C++ snappy library for parquet (de)compression Mar 10, 2026
@alamb-ghbot
Copy link

Benchmark script failed with exit code 101.

Last 10 lines of output:

Click to expand
   Compiling parquet v58.0.0 (/home/alamb/arrow-rs/parquet)
error: linking with `/usr/bin/clang` failed: exit status: 1
  |
  = note:  "/usr/bin/clang" "-m64" "/tmp/rustcFBtjnr/symbols.o" "<17 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/home/alamb/arrow-rs/target/release/deps/{libparquet-d8a3a1d8db2795a7,libbrotli-12e5fb0b579343d2,libbrotli_decompressor-baa0bbd9b140fb6b,liballoc_stdlib-2262b70ed38a841a,liballoc_no_stdlib-62bda47e289bb4c9,libflate2-7f972e4416baa07d,libzlib_rs-519ed842107eef73,libsnappy_src-0d9dd81f9b1c85bf,liblink_cplusplus-8f7f42fa9d0b79c2,libparquet_variant_compute-a325887c1ef4a4fd,libparquet_variant_json-0c1764a48747cf29,libparquet_variant-d3c4cea94a2e5356,libuuid-633acebe4dd39b56,libgetrandom-6fb4fa131d55e16e,libthrift-bd211c1a9990929e,libordered_float-52086a0908845e29,libinteger_encoding-18b1de7c624ae930,libbyteorder-a1217a6702b133f4,libobject_store-c80166888e208fdf,libquick_xml-75daaea5b91696c2,libhumantime-bf01b46c42501253,libthiserror-2752c84c27a56930,libparking_lot-7251d5f2d52a8bb1,libparking_lot_core-6f71c85c063d5167,liblock_api-e877d28516454a8a,libscopeguard-1e6b6f7983da7f43,libreqwest-adaa584328db370e,libserde_urlencoded-1f0701c39dcbe9bc,libhyper_rustls-c6205a8407f63f06,librustls_native_certs-e3d3fa56894546f6,libopenssl_probe-86c0cdea09ec189a,libtokio_rustls-2e84b24c021e82a4,librustls-63882e6b6ae11363,libsubtle-83b019dd42ca4f1d,libwebpki-1b69a7aa1c17dc3d,libring-9e5f1ad5613223cc,libgetrandom-79612e2f12609d7a,libuntrusted-1b7c03d6e086528a,librustls_pki_types-24f0fef10169b5d9,libzeroize-3390776000cf3817,libtower_http-67169435ec0407cd,libiri_string-fac605d5bdfba4b1,libtower-ac17b1b7c353d967,libtower_layer-b3ebbbd05b293d7f,libhyper_util-32eb797ad8c24c7a,libipnet-745abc103b360f9d,libtower_service-8b825a4f85e23710,libhyper-34defddd13be75ae,libwant-3165c3b2f4cede69,libtry_lock-668f4ec066733aa7,libhttparse-f9accd83452600c8,libh2-5b32073ab00b8ab5,libtracing-c61216d3d484b0d1,libtracing_core-5d894ea23672831b,libfnv-c0f39635cc6b435f,libpin_utils-55f5d0b234cc470c,libatomic_waker-acadaf710f276989,libhttpdate-acc1d1657caa6b09,libtokio_util-6ddc08a69d53949a,libtokio-c3c818193d0bfab4,libsocket2-33c67fc03946cb86,libmio-9338eef4408599a2,libhttp_body_util-048a17381e54072f,libhttp_body-88e95966ca62a294,liblog-6218895e653f1851,liburl-8a637189f130c7e3,libidna-454310176f5f5984,libutf8_iter-e80d13882f28c6fe,libidna_adapter-186fb2e6a8f8b5e5,libicu_properties-b6435bfef1dfa307,libicu_properties_data-a8992ce02c0ff2c7,libicu_normalizer-6b44328edabfbd02,libsmallvec-4af9372de779741a,libicu_normalizer_data-2ea5f812b769cc39,libicu_collections-bdfacd3b485d4b1b,libpotential_utf-0ecf10952d09596c,libicu_provider-d0cc4a0390b5b36a,libicu_locale_core-7d4e99d5797a7f57,libtinystr-adc938b143d88d15,liblitemap-985057942de1a744,libwriteable-62e8cabe10ae8e87,libzerovec-bd2fcb57865490c7,libzerotrie-a131d38420a9f9ca,libyoke-5d06e92c6a68a719,libstable_deref_trait-b9d7c8d5e29ce2e9,libzerofrom-fcd66bf14d93077e,libform_urlencoded-5b4a2672c381fa7a,libpercent_encoding-eb8e072b87add51f,libhttp-7593e209b98299e0,libsync_wrapper-08706437daba55ca,libcriterion-7d99a5da743cfd7b,libpage_size-dc2a05e269107d3f,liballoca-63b8c1a929a65bef,libciborium-6adc709311a8a5c4,libciborium_ll-bcd8ae310cbdd4ef,libciborium_io-9e406e44b5f502aa,libclap-d4c924006f504cc5,libclap_builder-94c142d29259f148,libclap_lex-c6511f8621dd88b2,libanstyle-f1306417cdfccadd,liboorandom-b52f4145e3c2c238,libanes-94572c31b1834294,libtinytemplate-effd0a15ce18afbd,libcriterion_plot-bbb3852e5b8953f0,libitertools-29621852c8f52ac3,libeither-5466612c90644134,libcast-91fb687a93bd874f,libwalkdir-abfabc28a61a2a42,libsame_file-20926664078ad268,libarrow-21f3a7a999fc0a5b,libarrow_row-ac410ae3ff5ff051,libarrow_json-bf6b0cddf4b2cfcc,libsimdutf8-b5a805bfbf3c2d98,libindexmap-3ea89e73bdf7046d,libequivalent-2e3dfff5b22d0c01,libarrow_ipc-c3a5215fb47c7723,liblz4_flex-9756105a11b22ffc,libtwox_hash-272a1caeccc19444,libzstd-0b85fd865441a681,libzstd_safe-e101e4aaf9b30f52,libzstd_sys-c26a5c8e7cede682,libflatbuffers-f53ca60316a21705,libarrow_csv-50aa425732297de1,libcsv-029d5d4e891e4c0a,libcsv_core-af26608cd100771c,libarrow_string-7b6c2f789084e4b7,libregex-ad1230e2b7302609,libregex_automata-ab5916c4a816ce98,libaho_corasick-d891cfffe42fc5ba,libregex_syntax-360bad80433c9df3,libarrow_cast-284044cc8bc8ffbf,libatoi-200ef851be556cf3,libryu-0735f59322c3f4dd,libbase64-7443869e87ab93bc,libcomfy_table-06b00759ac85f53d,libunicode_segmentation-64fbbef3c1227a9c,libunicode_width-fa14a3b62a7ec7f7,liblexical_core-82c3347f1eb7a9ad,liblexical_write_float-883a379db1e41cfd,liblexical_write_integer-1682f352881bf5cf,liblexical_parse_float-64fe6f930f0657f3,liblexical_parse_integer-0103e43ddc50f13a,liblexical_util-b261622fe8af7191,libarrow_arith-60e993e7b84ffee9,libarrow_ord-c14eb78ee5f387e1,libarrow_select-eda90797bbad1f07,libarrow_array-8eadb67fa4cd5892,libfutures-f6556793ce31104f,libfutures_executor-8ab2950bd5693b46,libfutures_util-adf8c498e3ca2d1c,libfutures_io-b14d175fab7de153,libslab-a2456913c0ba51f0,libfutures_channel-4cfb1461f051be40,libpin_project_lite-26656699ee326701,libfutures_sink-336b5a7bb84472e7,libfutures_task-147992c07fd025a0,libfutures_core-f5d836de68c2fcc6,libahash-d24602cf94839f47,libonce_cell-cf1006a21f78f273,libhashbrown-5b1f22d68b94b4c2,libnum_complex-1565e166ebc1aff0,libchrono-e884652b26200d47,libiana_time_zone-8c4048791fcb4d5b,libarrow_data-7d663b07b4014d27,libarrow_schema-bbcb06017e02dc81,libserde_json-9bb4a06d8a75ed0c,libmemchr-1d3d1ef9a6b1922d,libitoa-aa9ff90392e333e9,libzmij-714d32cd3aff6cd0,libbitflags-66fa5599aa8ced7e,libarrow_buffer-efc5c987afed176c,libbytes-4536b7bbee4a3aaa,libhalf-628ac419fbf34fd7,librand_distr-e9186fe1b7a9bec7,librand-95cf620bf8e7ca72,librand_chacha-64bc8fc9dad85659,libppv_lite86-69f705228cd13eb7,librand_core-7edc281d22897d7c,libgetrandom-1866965f04ea8265,liblibc-7782b8150ccb4f4f,libcfg_if-9f43721614bce0ef,libzerocopy-1bf55104b2b71a0b,libnum_bigint-f34df526b843dcd1,libserde-198c1d4911956344,libserde_core-e4cd2c13c00d061b,libnum_integer-42d26df496f5b5bf,libnum_traits-bc080c97b76a23a2}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lstdc++" "-lstdc++" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustcFBtjnr/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/alamb/arrow-rs/target/release/build/zstd-sys-fbfc4ded5eaa5d3b/out" "-L" "/home/alamb/arrow-rs/target/release/build/alloca-98d44869933e2b73/out" "-L" "/home/alamb/arrow-rs/target/release/build/ring-abaafa288866f10f/out" "-L" "/home/alamb/arrow-rs/target/release/build/snappy_src-f49729b0027d7acb/out" "-L" "/home/alamb/arrow-rs/target/release/build/link-cplusplus-30691bd4f8146ac0/out" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/alamb/arrow-rs/target/release/deps/arrow_reader_clickbench-3e19634e0aa0c6e9" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs" "--ld-path=/usr/bin/mold"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: mold: fatal: library not found: stdc++
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
          

error: could not compile `parquet` (bench "arrow_reader_clickbench") due to 1 previous error

@Dandandan Dandandan changed the title Replace pure-Rust snap with C++ snappy library for parquet (de)compression [bench] Replace pure-Rust snap with C++ snappy library for parquet (de)compression Mar 10, 2026
Install g++ in CI setup-builder to provide libstdc++ needed by snappy_src.
Move snappy_src to non-wasm32 target dependency and add pure-Rust snap
fallback for wasm32 targets.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Dandandan
Copy link
Contributor Author

run benchmark arrow_reader_clickbench

@alamb-ghbot
Copy link

🤖 ./gh_compare_arrow.sh gh_compare_arrow.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing snappy_cpp (a2c33a1) to 9d0e8be diff
BENCH_NAME=arrow_reader_clickbench
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench arrow_reader_clickbench
BENCH_FILTER=
BENCH_BRANCH_NAME=snappy_cpp
Results will be posted here when complete

@alamb-ghbot
Copy link

Benchmark script failed with exit code 101.

Last 10 lines of output:

Click to expand
   Compiling parquet v58.0.0 (/home/alamb/arrow-rs/parquet)
error: linking with `/usr/bin/clang` failed: exit status: 1
  |
  = note:  "/usr/bin/clang" "-m64" "/tmp/rustctY8PyV/symbols.o" "<17 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/home/alamb/arrow-rs/target/release/deps/{libparquet-d8a3a1d8db2795a7,libbrotli-12e5fb0b579343d2,libbrotli_decompressor-baa0bbd9b140fb6b,liballoc_stdlib-2262b70ed38a841a,liballoc_no_stdlib-62bda47e289bb4c9,libflate2-7f972e4416baa07d,libzlib_rs-519ed842107eef73,libsnappy_src-0d9dd81f9b1c85bf,liblink_cplusplus-8f7f42fa9d0b79c2,libparquet_variant_compute-a325887c1ef4a4fd,libparquet_variant_json-0c1764a48747cf29,libparquet_variant-d3c4cea94a2e5356,libuuid-633acebe4dd39b56,libgetrandom-6fb4fa131d55e16e,libthrift-bd211c1a9990929e,libordered_float-52086a0908845e29,libinteger_encoding-18b1de7c624ae930,libbyteorder-a1217a6702b133f4,libobject_store-c80166888e208fdf,libquick_xml-75daaea5b91696c2,libhumantime-bf01b46c42501253,libthiserror-2752c84c27a56930,libparking_lot-7251d5f2d52a8bb1,libparking_lot_core-6f71c85c063d5167,liblock_api-e877d28516454a8a,libscopeguard-1e6b6f7983da7f43,libreqwest-adaa584328db370e,libserde_urlencoded-1f0701c39dcbe9bc,libhyper_rustls-c6205a8407f63f06,librustls_native_certs-e3d3fa56894546f6,libopenssl_probe-86c0cdea09ec189a,libtokio_rustls-2e84b24c021e82a4,librustls-63882e6b6ae11363,libsubtle-83b019dd42ca4f1d,libwebpki-1b69a7aa1c17dc3d,libring-9e5f1ad5613223cc,libgetrandom-79612e2f12609d7a,libuntrusted-1b7c03d6e086528a,librustls_pki_types-24f0fef10169b5d9,libzeroize-3390776000cf3817,libtower_http-67169435ec0407cd,libiri_string-fac605d5bdfba4b1,libtower-ac17b1b7c353d967,libtower_layer-b3ebbbd05b293d7f,libhyper_util-32eb797ad8c24c7a,libipnet-745abc103b360f9d,libtower_service-8b825a4f85e23710,libhyper-34defddd13be75ae,libwant-3165c3b2f4cede69,libtry_lock-668f4ec066733aa7,libhttparse-f9accd83452600c8,libh2-5b32073ab00b8ab5,libtracing-c61216d3d484b0d1,libtracing_core-5d894ea23672831b,libfnv-c0f39635cc6b435f,libpin_utils-55f5d0b234cc470c,libatomic_waker-acadaf710f276989,libhttpdate-acc1d1657caa6b09,libtokio_util-6ddc08a69d53949a,libtokio-c3c818193d0bfab4,libsocket2-33c67fc03946cb86,libmio-9338eef4408599a2,libhttp_body_util-048a17381e54072f,libhttp_body-88e95966ca62a294,liblog-6218895e653f1851,liburl-8a637189f130c7e3,libidna-454310176f5f5984,libutf8_iter-e80d13882f28c6fe,libidna_adapter-186fb2e6a8f8b5e5,libicu_properties-b6435bfef1dfa307,libicu_properties_data-a8992ce02c0ff2c7,libicu_normalizer-6b44328edabfbd02,libsmallvec-4af9372de779741a,libicu_normalizer_data-2ea5f812b769cc39,libicu_collections-bdfacd3b485d4b1b,libpotential_utf-0ecf10952d09596c,libicu_provider-d0cc4a0390b5b36a,libicu_locale_core-7d4e99d5797a7f57,libtinystr-adc938b143d88d15,liblitemap-985057942de1a744,libwriteable-62e8cabe10ae8e87,libzerovec-bd2fcb57865490c7,libzerotrie-a131d38420a9f9ca,libyoke-5d06e92c6a68a719,libstable_deref_trait-b9d7c8d5e29ce2e9,libzerofrom-fcd66bf14d93077e,libform_urlencoded-5b4a2672c381fa7a,libpercent_encoding-eb8e072b87add51f,libhttp-7593e209b98299e0,libsync_wrapper-08706437daba55ca,libcriterion-7d99a5da743cfd7b,libpage_size-dc2a05e269107d3f,liballoca-63b8c1a929a65bef,libciborium-6adc709311a8a5c4,libciborium_ll-bcd8ae310cbdd4ef,libciborium_io-9e406e44b5f502aa,libclap-d4c924006f504cc5,libclap_builder-94c142d29259f148,libclap_lex-c6511f8621dd88b2,libanstyle-f1306417cdfccadd,liboorandom-b52f4145e3c2c238,libanes-94572c31b1834294,libtinytemplate-effd0a15ce18afbd,libcriterion_plot-bbb3852e5b8953f0,libitertools-29621852c8f52ac3,libeither-5466612c90644134,libcast-91fb687a93bd874f,libwalkdir-abfabc28a61a2a42,libsame_file-20926664078ad268,libarrow-21f3a7a999fc0a5b,libarrow_row-ac410ae3ff5ff051,libarrow_json-bf6b0cddf4b2cfcc,libsimdutf8-b5a805bfbf3c2d98,libindexmap-3ea89e73bdf7046d,libequivalent-2e3dfff5b22d0c01,libarrow_ipc-c3a5215fb47c7723,liblz4_flex-9756105a11b22ffc,libtwox_hash-272a1caeccc19444,libzstd-0b85fd865441a681,libzstd_safe-e101e4aaf9b30f52,libzstd_sys-c26a5c8e7cede682,libflatbuffers-f53ca60316a21705,libarrow_csv-50aa425732297de1,libcsv-029d5d4e891e4c0a,libcsv_core-af26608cd100771c,libarrow_string-7b6c2f789084e4b7,libregex-ad1230e2b7302609,libregex_automata-ab5916c4a816ce98,libaho_corasick-d891cfffe42fc5ba,libregex_syntax-360bad80433c9df3,libarrow_cast-284044cc8bc8ffbf,libatoi-200ef851be556cf3,libryu-0735f59322c3f4dd,libbase64-7443869e87ab93bc,libcomfy_table-06b00759ac85f53d,libunicode_segmentation-64fbbef3c1227a9c,libunicode_width-fa14a3b62a7ec7f7,liblexical_core-82c3347f1eb7a9ad,liblexical_write_float-883a379db1e41cfd,liblexical_write_integer-1682f352881bf5cf,liblexical_parse_float-64fe6f930f0657f3,liblexical_parse_integer-0103e43ddc50f13a,liblexical_util-b261622fe8af7191,libarrow_arith-60e993e7b84ffee9,libarrow_ord-c14eb78ee5f387e1,libarrow_select-eda90797bbad1f07,libarrow_array-8eadb67fa4cd5892,libfutures-f6556793ce31104f,libfutures_executor-8ab2950bd5693b46,libfutures_util-adf8c498e3ca2d1c,libfutures_io-b14d175fab7de153,libslab-a2456913c0ba51f0,libfutures_channel-4cfb1461f051be40,libpin_project_lite-26656699ee326701,libfutures_sink-336b5a7bb84472e7,libfutures_task-147992c07fd025a0,libfutures_core-f5d836de68c2fcc6,libahash-d24602cf94839f47,libonce_cell-cf1006a21f78f273,libhashbrown-5b1f22d68b94b4c2,libnum_complex-1565e166ebc1aff0,libchrono-e884652b26200d47,libiana_time_zone-8c4048791fcb4d5b,libarrow_data-7d663b07b4014d27,libarrow_schema-bbcb06017e02dc81,libserde_json-9bb4a06d8a75ed0c,libmemchr-1d3d1ef9a6b1922d,libitoa-aa9ff90392e333e9,libzmij-714d32cd3aff6cd0,libbitflags-66fa5599aa8ced7e,libarrow_buffer-efc5c987afed176c,libbytes-4536b7bbee4a3aaa,libhalf-628ac419fbf34fd7,librand_distr-e9186fe1b7a9bec7,librand-95cf620bf8e7ca72,librand_chacha-64bc8fc9dad85659,libppv_lite86-69f705228cd13eb7,librand_core-7edc281d22897d7c,libgetrandom-1866965f04ea8265,liblibc-7782b8150ccb4f4f,libcfg_if-9f43721614bce0ef,libzerocopy-1bf55104b2b71a0b,libnum_bigint-f34df526b843dcd1,libserde-198c1d4911956344,libserde_core-e4cd2c13c00d061b,libnum_integer-42d26df496f5b5bf,libnum_traits-bc080c97b76a23a2}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lstdc++" "-lstdc++" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustctY8PyV/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/alamb/arrow-rs/target/release/build/zstd-sys-fbfc4ded5eaa5d3b/out" "-L" "/home/alamb/arrow-rs/target/release/build/alloca-98d44869933e2b73/out" "-L" "/home/alamb/arrow-rs/target/release/build/ring-abaafa288866f10f/out" "-L" "/home/alamb/arrow-rs/target/release/build/snappy_src-f49729b0027d7acb/out" "-L" "/home/alamb/arrow-rs/target/release/build/link-cplusplus-30691bd4f8146ac0/out" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/alamb/arrow-rs/target/release/deps/arrow_reader_clickbench-3e19634e0aa0c6e9" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs" "--ld-path=/usr/bin/mold"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: mold: fatal: library not found: stdc++
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
          

error: could not compile `parquet` (bench "arrow_reader_clickbench") due to 1 previous error

@github-actions github-actions bot added the parquet Changes to the parquet crate label Mar 10, 2026
@Dandandan
Copy link
Contributor Author

run benchmark arrow_reader_clickbench CXXSTDLIB=c++

@alamb-ghbot
Copy link

🤖 Hi @Dandandan, thanks for the request (#9528 (comment)).

scrape_comments.py only supports whitelisted benchmarks.

  • Standard: (none)
  • Criterion: array_from, array_iter, arrow_reader, arrow_reader_clickbench, arrow_reader_row_filter, arrow_statistics, arrow_writer, bitwise_kernel, boolean_kernels, buffer_bit_ops, builder, cast_kernels, coalesce_kernels, comparison_kernels, concatenate_kernel, csv_writer, encoding, filter_kernels, interleave_kernels, ipc_reader, json-reader, metadata, row_format, sort_kernel, take_kernels, union_array, variant_builder, variant_kernels, variant_validation, view_types, zip_kernels

Please choose one or more of these with run benchmark <name> or run benchmark <name1> <name2>...

You can also set environment variables on subsequent lines:

run benchmark tpch_mem
DATAFUSION_RUNTIME_MEMORY_LIMIT=1G

Unsupported benchmarks: CXXSTDLIB=c++.

@Dandandan
Copy link
Contributor Author

run benchmark arrow_reader_clickbench
CXXSTDLIB=c++

@alamb-ghbot
Copy link

🤖 ./gh_compare_arrow.sh gh_compare_arrow.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing snappy_cpp (a2c33a1) to 9d0e8be diff
BENCH_NAME=arrow_reader_clickbench
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench arrow_reader_clickbench
BENCH_FILTER=
BENCH_BRANCH_NAME=snappy_cpp
Results will be posted here when complete

@alamb-ghbot
Copy link

Benchmark script failed with exit code 101.

Last 10 lines of output:

Click to expand
   Compiling parquet v58.0.0 (/home/alamb/arrow-rs/parquet)
error: linking with `/usr/bin/clang` failed: exit status: 1
  |
  = note:  "/usr/bin/clang" "-m64" "/tmp/rustcH93tI1/symbols.o" "<17 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/home/alamb/arrow-rs/target/release/deps/{libparquet-d8a3a1d8db2795a7,libbrotli-12e5fb0b579343d2,libbrotli_decompressor-baa0bbd9b140fb6b,liballoc_stdlib-2262b70ed38a841a,liballoc_no_stdlib-62bda47e289bb4c9,libflate2-7f972e4416baa07d,libzlib_rs-519ed842107eef73,libsnappy_src-0d9dd81f9b1c85bf,liblink_cplusplus-8f7f42fa9d0b79c2,libparquet_variant_compute-a325887c1ef4a4fd,libparquet_variant_json-0c1764a48747cf29,libparquet_variant-d3c4cea94a2e5356,libuuid-633acebe4dd39b56,libgetrandom-6fb4fa131d55e16e,libthrift-bd211c1a9990929e,libordered_float-52086a0908845e29,libinteger_encoding-18b1de7c624ae930,libbyteorder-a1217a6702b133f4,libobject_store-c80166888e208fdf,libquick_xml-75daaea5b91696c2,libhumantime-bf01b46c42501253,libthiserror-2752c84c27a56930,libparking_lot-7251d5f2d52a8bb1,libparking_lot_core-6f71c85c063d5167,liblock_api-e877d28516454a8a,libscopeguard-1e6b6f7983da7f43,libreqwest-adaa584328db370e,libserde_urlencoded-1f0701c39dcbe9bc,libhyper_rustls-c6205a8407f63f06,librustls_native_certs-e3d3fa56894546f6,libopenssl_probe-86c0cdea09ec189a,libtokio_rustls-2e84b24c021e82a4,librustls-63882e6b6ae11363,libsubtle-83b019dd42ca4f1d,libwebpki-1b69a7aa1c17dc3d,libring-9e5f1ad5613223cc,libgetrandom-79612e2f12609d7a,libuntrusted-1b7c03d6e086528a,librustls_pki_types-24f0fef10169b5d9,libzeroize-3390776000cf3817,libtower_http-67169435ec0407cd,libiri_string-fac605d5bdfba4b1,libtower-ac17b1b7c353d967,libtower_layer-b3ebbbd05b293d7f,libhyper_util-32eb797ad8c24c7a,libipnet-745abc103b360f9d,libtower_service-8b825a4f85e23710,libhyper-34defddd13be75ae,libwant-3165c3b2f4cede69,libtry_lock-668f4ec066733aa7,libhttparse-f9accd83452600c8,libh2-5b32073ab00b8ab5,libtracing-c61216d3d484b0d1,libtracing_core-5d894ea23672831b,libfnv-c0f39635cc6b435f,libpin_utils-55f5d0b234cc470c,libatomic_waker-acadaf710f276989,libhttpdate-acc1d1657caa6b09,libtokio_util-6ddc08a69d53949a,libtokio-c3c818193d0bfab4,libsocket2-33c67fc03946cb86,libmio-9338eef4408599a2,libhttp_body_util-048a17381e54072f,libhttp_body-88e95966ca62a294,liblog-6218895e653f1851,liburl-8a637189f130c7e3,libidna-454310176f5f5984,libutf8_iter-e80d13882f28c6fe,libidna_adapter-186fb2e6a8f8b5e5,libicu_properties-b6435bfef1dfa307,libicu_properties_data-a8992ce02c0ff2c7,libicu_normalizer-6b44328edabfbd02,libsmallvec-4af9372de779741a,libicu_normalizer_data-2ea5f812b769cc39,libicu_collections-bdfacd3b485d4b1b,libpotential_utf-0ecf10952d09596c,libicu_provider-d0cc4a0390b5b36a,libicu_locale_core-7d4e99d5797a7f57,libtinystr-adc938b143d88d15,liblitemap-985057942de1a744,libwriteable-62e8cabe10ae8e87,libzerovec-bd2fcb57865490c7,libzerotrie-a131d38420a9f9ca,libyoke-5d06e92c6a68a719,libstable_deref_trait-b9d7c8d5e29ce2e9,libzerofrom-fcd66bf14d93077e,libform_urlencoded-5b4a2672c381fa7a,libpercent_encoding-eb8e072b87add51f,libhttp-7593e209b98299e0,libsync_wrapper-08706437daba55ca,libcriterion-7d99a5da743cfd7b,libpage_size-dc2a05e269107d3f,liballoca-63b8c1a929a65bef,libciborium-6adc709311a8a5c4,libciborium_ll-bcd8ae310cbdd4ef,libciborium_io-9e406e44b5f502aa,libclap-d4c924006f504cc5,libclap_builder-94c142d29259f148,libclap_lex-c6511f8621dd88b2,libanstyle-f1306417cdfccadd,liboorandom-b52f4145e3c2c238,libanes-94572c31b1834294,libtinytemplate-effd0a15ce18afbd,libcriterion_plot-bbb3852e5b8953f0,libitertools-29621852c8f52ac3,libeither-5466612c90644134,libcast-91fb687a93bd874f,libwalkdir-abfabc28a61a2a42,libsame_file-20926664078ad268,libarrow-21f3a7a999fc0a5b,libarrow_row-ac410ae3ff5ff051,libarrow_json-bf6b0cddf4b2cfcc,libsimdutf8-b5a805bfbf3c2d98,libindexmap-3ea89e73bdf7046d,libequivalent-2e3dfff5b22d0c01,libarrow_ipc-c3a5215fb47c7723,liblz4_flex-9756105a11b22ffc,libtwox_hash-272a1caeccc19444,libzstd-0b85fd865441a681,libzstd_safe-e101e4aaf9b30f52,libzstd_sys-c26a5c8e7cede682,libflatbuffers-f53ca60316a21705,libarrow_csv-50aa425732297de1,libcsv-029d5d4e891e4c0a,libcsv_core-af26608cd100771c,libarrow_string-7b6c2f789084e4b7,libregex-ad1230e2b7302609,libregex_automata-ab5916c4a816ce98,libaho_corasick-d891cfffe42fc5ba,libregex_syntax-360bad80433c9df3,libarrow_cast-284044cc8bc8ffbf,libatoi-200ef851be556cf3,libryu-0735f59322c3f4dd,libbase64-7443869e87ab93bc,libcomfy_table-06b00759ac85f53d,libunicode_segmentation-64fbbef3c1227a9c,libunicode_width-fa14a3b62a7ec7f7,liblexical_core-82c3347f1eb7a9ad,liblexical_write_float-883a379db1e41cfd,liblexical_write_integer-1682f352881bf5cf,liblexical_parse_float-64fe6f930f0657f3,liblexical_parse_integer-0103e43ddc50f13a,liblexical_util-b261622fe8af7191,libarrow_arith-60e993e7b84ffee9,libarrow_ord-c14eb78ee5f387e1,libarrow_select-eda90797bbad1f07,libarrow_array-8eadb67fa4cd5892,libfutures-f6556793ce31104f,libfutures_executor-8ab2950bd5693b46,libfutures_util-adf8c498e3ca2d1c,libfutures_io-b14d175fab7de153,libslab-a2456913c0ba51f0,libfutures_channel-4cfb1461f051be40,libpin_project_lite-26656699ee326701,libfutures_sink-336b5a7bb84472e7,libfutures_task-147992c07fd025a0,libfutures_core-f5d836de68c2fcc6,libahash-d24602cf94839f47,libonce_cell-cf1006a21f78f273,libhashbrown-5b1f22d68b94b4c2,libnum_complex-1565e166ebc1aff0,libchrono-e884652b26200d47,libiana_time_zone-8c4048791fcb4d5b,libarrow_data-7d663b07b4014d27,libarrow_schema-bbcb06017e02dc81,libserde_json-9bb4a06d8a75ed0c,libmemchr-1d3d1ef9a6b1922d,libitoa-aa9ff90392e333e9,libzmij-714d32cd3aff6cd0,libbitflags-66fa5599aa8ced7e,libarrow_buffer-efc5c987afed176c,libbytes-4536b7bbee4a3aaa,libhalf-628ac419fbf34fd7,librand_distr-e9186fe1b7a9bec7,librand-95cf620bf8e7ca72,librand_chacha-64bc8fc9dad85659,libppv_lite86-69f705228cd13eb7,librand_core-7edc281d22897d7c,libgetrandom-1866965f04ea8265,liblibc-7782b8150ccb4f4f,libcfg_if-9f43721614bce0ef,libzerocopy-1bf55104b2b71a0b,libnum_bigint-f34df526b843dcd1,libserde-198c1d4911956344,libserde_core-e4cd2c13c00d061b,libnum_integer-42d26df496f5b5bf,libnum_traits-bc080c97b76a23a2}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lstdc++" "-lstdc++" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustcH93tI1/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/alamb/arrow-rs/target/release/build/zstd-sys-fbfc4ded5eaa5d3b/out" "-L" "/home/alamb/arrow-rs/target/release/build/alloca-98d44869933e2b73/out" "-L" "/home/alamb/arrow-rs/target/release/build/ring-abaafa288866f10f/out" "-L" "/home/alamb/arrow-rs/target/release/build/snappy_src-f49729b0027d7acb/out" "-L" "/home/alamb/arrow-rs/target/release/build/link-cplusplus-30691bd4f8146ac0/out" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/alamb/arrow-rs/target/release/deps/arrow_reader_clickbench-3e19634e0aa0c6e9" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs" "--ld-path=/usr/bin/mold"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: mold: fatal: library not found: stdc++
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
          

error: could not compile `parquet` (bench "arrow_reader_clickbench") due to 1 previous error

@Dandandan
Copy link
Contributor Author

run benchmark arrow_reader_clickbench

@alamb-ghbot
Copy link

🤖 ./gh_compare_arrow.sh gh_compare_arrow.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing snappy_cpp (a4e68ff) to 9d0e8be diff
BENCH_NAME=arrow_reader_clickbench
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench arrow_reader_clickbench
BENCH_FILTER=
BENCH_BRANCH_NAME=snappy_cpp
Results will be posted here when complete

@alamb-ghbot
Copy link

Benchmark script failed with exit code 101.

Last 10 lines of output:

Click to expand
   Compiling parquet v58.0.0 (/home/alamb/arrow-rs/parquet)
error: linking with `/usr/bin/clang` failed: exit status: 1
  |
  = note:  "/usr/bin/clang" "-m64" "/tmp/rustcMTxkvE/symbols.o" "<17 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/home/alamb/arrow-rs/target/release/deps/{libparquet-d81c8942c6e154de,libbrotli-12e5fb0b579343d2,libbrotli_decompressor-baa0bbd9b140fb6b,liballoc_stdlib-2262b70ed38a841a,liballoc_no_stdlib-62bda47e289bb4c9,libflate2-7f972e4416baa07d,libzlib_rs-519ed842107eef73,libsnappy_src-0d9dd81f9b1c85bf,liblink_cplusplus-8f7f42fa9d0b79c2,libparquet_variant_compute-a325887c1ef4a4fd,libparquet_variant_json-0c1764a48747cf29,libparquet_variant-d3c4cea94a2e5356,libuuid-633acebe4dd39b56,libgetrandom-6fb4fa131d55e16e,libthrift-bd211c1a9990929e,libordered_float-52086a0908845e29,libinteger_encoding-18b1de7c624ae930,libbyteorder-a1217a6702b133f4,libobject_store-c80166888e208fdf,libquick_xml-75daaea5b91696c2,libhumantime-bf01b46c42501253,libthiserror-2752c84c27a56930,libparking_lot-7251d5f2d52a8bb1,libparking_lot_core-6f71c85c063d5167,liblock_api-e877d28516454a8a,libscopeguard-1e6b6f7983da7f43,libreqwest-adaa584328db370e,libserde_urlencoded-1f0701c39dcbe9bc,libhyper_rustls-c6205a8407f63f06,librustls_native_certs-e3d3fa56894546f6,libopenssl_probe-86c0cdea09ec189a,libtokio_rustls-2e84b24c021e82a4,librustls-63882e6b6ae11363,libsubtle-83b019dd42ca4f1d,libwebpki-1b69a7aa1c17dc3d,libring-9e5f1ad5613223cc,libgetrandom-79612e2f12609d7a,libuntrusted-1b7c03d6e086528a,librustls_pki_types-24f0fef10169b5d9,libzeroize-3390776000cf3817,libtower_http-67169435ec0407cd,libiri_string-fac605d5bdfba4b1,libtower-ac17b1b7c353d967,libtower_layer-b3ebbbd05b293d7f,libhyper_util-32eb797ad8c24c7a,libipnet-745abc103b360f9d,libtower_service-8b825a4f85e23710,libhyper-34defddd13be75ae,libwant-3165c3b2f4cede69,libtry_lock-668f4ec066733aa7,libhttparse-f9accd83452600c8,libh2-5b32073ab00b8ab5,libtracing-c61216d3d484b0d1,libtracing_core-5d894ea23672831b,libfnv-c0f39635cc6b435f,libpin_utils-55f5d0b234cc470c,libatomic_waker-acadaf710f276989,libhttpdate-acc1d1657caa6b09,libtokio_util-6ddc08a69d53949a,libtokio-c3c818193d0bfab4,libsocket2-33c67fc03946cb86,libmio-9338eef4408599a2,libhttp_body_util-048a17381e54072f,libhttp_body-88e95966ca62a294,liblog-6218895e653f1851,liburl-8a637189f130c7e3,libidna-454310176f5f5984,libutf8_iter-e80d13882f28c6fe,libidna_adapter-186fb2e6a8f8b5e5,libicu_properties-b6435bfef1dfa307,libicu_properties_data-a8992ce02c0ff2c7,libicu_normalizer-6b44328edabfbd02,libsmallvec-4af9372de779741a,libicu_normalizer_data-2ea5f812b769cc39,libicu_collections-bdfacd3b485d4b1b,libpotential_utf-0ecf10952d09596c,libicu_provider-d0cc4a0390b5b36a,libicu_locale_core-7d4e99d5797a7f57,libtinystr-adc938b143d88d15,liblitemap-985057942de1a744,libwriteable-62e8cabe10ae8e87,libzerovec-bd2fcb57865490c7,libzerotrie-a131d38420a9f9ca,libyoke-5d06e92c6a68a719,libstable_deref_trait-b9d7c8d5e29ce2e9,libzerofrom-fcd66bf14d93077e,libform_urlencoded-5b4a2672c381fa7a,libpercent_encoding-eb8e072b87add51f,libhttp-7593e209b98299e0,libsync_wrapper-08706437daba55ca,libcriterion-7d99a5da743cfd7b,libpage_size-dc2a05e269107d3f,liballoca-63b8c1a929a65bef,libciborium-6adc709311a8a5c4,libciborium_ll-bcd8ae310cbdd4ef,libciborium_io-9e406e44b5f502aa,libclap-d4c924006f504cc5,libclap_builder-94c142d29259f148,libclap_lex-c6511f8621dd88b2,libanstyle-f1306417cdfccadd,liboorandom-b52f4145e3c2c238,libanes-94572c31b1834294,libtinytemplate-effd0a15ce18afbd,libcriterion_plot-bbb3852e5b8953f0,libitertools-29621852c8f52ac3,libeither-5466612c90644134,libcast-91fb687a93bd874f,libwalkdir-abfabc28a61a2a42,libsame_file-20926664078ad268,libarrow-21f3a7a999fc0a5b,libarrow_row-ac410ae3ff5ff051,libarrow_json-bf6b0cddf4b2cfcc,libsimdutf8-b5a805bfbf3c2d98,libindexmap-3ea89e73bdf7046d,libequivalent-2e3dfff5b22d0c01,libarrow_ipc-c3a5215fb47c7723,liblz4_flex-9756105a11b22ffc,libtwox_hash-272a1caeccc19444,libzstd-0b85fd865441a681,libzstd_safe-e101e4aaf9b30f52,libzstd_sys-c26a5c8e7cede682,libflatbuffers-f53ca60316a21705,libarrow_csv-50aa425732297de1,libcsv-029d5d4e891e4c0a,libcsv_core-af26608cd100771c,libarrow_string-7b6c2f789084e4b7,libregex-ad1230e2b7302609,libregex_automata-ab5916c4a816ce98,libaho_corasick-d891cfffe42fc5ba,libregex_syntax-360bad80433c9df3,libarrow_cast-284044cc8bc8ffbf,libatoi-200ef851be556cf3,libryu-0735f59322c3f4dd,libbase64-7443869e87ab93bc,libcomfy_table-06b00759ac85f53d,libunicode_segmentation-64fbbef3c1227a9c,libunicode_width-fa14a3b62a7ec7f7,liblexical_core-82c3347f1eb7a9ad,liblexical_write_float-883a379db1e41cfd,liblexical_write_integer-1682f352881bf5cf,liblexical_parse_float-64fe6f930f0657f3,liblexical_parse_integer-0103e43ddc50f13a,liblexical_util-b261622fe8af7191,libarrow_arith-60e993e7b84ffee9,libarrow_ord-c14eb78ee5f387e1,libarrow_select-eda90797bbad1f07,libarrow_array-8eadb67fa4cd5892,libfutures-f6556793ce31104f,libfutures_executor-8ab2950bd5693b46,libfutures_util-adf8c498e3ca2d1c,libfutures_io-b14d175fab7de153,libslab-a2456913c0ba51f0,libfutures_channel-4cfb1461f051be40,libpin_project_lite-26656699ee326701,libfutures_sink-336b5a7bb84472e7,libfutures_task-147992c07fd025a0,libfutures_core-f5d836de68c2fcc6,libahash-d24602cf94839f47,libonce_cell-cf1006a21f78f273,libhashbrown-5b1f22d68b94b4c2,libnum_complex-1565e166ebc1aff0,libchrono-e884652b26200d47,libiana_time_zone-8c4048791fcb4d5b,libarrow_data-7d663b07b4014d27,libarrow_schema-bbcb06017e02dc81,libserde_json-9bb4a06d8a75ed0c,libmemchr-1d3d1ef9a6b1922d,libitoa-aa9ff90392e333e9,libzmij-714d32cd3aff6cd0,libbitflags-66fa5599aa8ced7e,libarrow_buffer-efc5c987afed176c,libbytes-4536b7bbee4a3aaa,libhalf-628ac419fbf34fd7,librand_distr-e9186fe1b7a9bec7,librand-95cf620bf8e7ca72,librand_chacha-64bc8fc9dad85659,libppv_lite86-69f705228cd13eb7,librand_core-7edc281d22897d7c,libgetrandom-1866965f04ea8265,liblibc-7782b8150ccb4f4f,libcfg_if-9f43721614bce0ef,libzerocopy-1bf55104b2b71a0b,libnum_bigint-f34df526b843dcd1,libserde-198c1d4911956344,libserde_core-e4cd2c13c00d061b,libnum_integer-42d26df496f5b5bf,libnum_traits-bc080c97b76a23a2}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lstdc++" "-lstdc++" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustcMTxkvE/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/alamb/arrow-rs/target/release/build/zstd-sys-fbfc4ded5eaa5d3b/out" "-L" "/home/alamb/arrow-rs/target/release/build/alloca-98d44869933e2b73/out" "-L" "/home/alamb/arrow-rs/target/release/build/link-cplusplus-30691bd4f8146ac0/out" "-L" "/home/alamb/arrow-rs/target/release/build/ring-abaafa288866f10f/out" "-L" "/home/alamb/arrow-rs/target/release/build/snappy_src-f49729b0027d7acb/out" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/alamb/arrow-rs/target/release/deps/arrow_reader_clickbench-a191605b0bc9b462" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs" "--ld-path=/usr/bin/mold"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: mold: fatal: library not found: stdc++
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
          

error: could not compile `parquet` (bench "arrow_reader_clickbench") due to 1 previous error

@alamb
Copy link
Contributor

alamb commented Mar 10, 2026

I will install libstdc++ on the runner

@alamb
Copy link
Contributor

alamb commented Mar 10, 2026

run benchmark arrow_reader_clickbench

@alamb-ghbot
Copy link

🤖 ./gh_compare_arrow.sh gh_compare_arrow.sh Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing snappy_cpp (a4e68ff) to 9d0e8be diff
BENCH_NAME=arrow_reader_clickbench
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental,object_store --bench arrow_reader_clickbench
BENCH_FILTER=
BENCH_BRANCH_NAME=snappy_cpp
Results will be posted here when complete

@alamb-ghbot
Copy link

Benchmark script failed with exit code 101.

Last 10 lines of output:

Click to expand
   Compiling parquet v58.0.0 (/home/alamb/arrow-rs/parquet)
error: linking with `/usr/bin/clang` failed: exit status: 1
  |
  = note:  "/usr/bin/clang" "-m64" "/tmp/rustceXnEKk/symbols.o" "<17 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/home/alamb/arrow-rs/target/release/deps/{libparquet-d81c8942c6e154de,libbrotli-12e5fb0b579343d2,libbrotli_decompressor-baa0bbd9b140fb6b,liballoc_stdlib-2262b70ed38a841a,liballoc_no_stdlib-62bda47e289bb4c9,libflate2-7f972e4416baa07d,libzlib_rs-519ed842107eef73,libsnappy_src-0d9dd81f9b1c85bf,liblink_cplusplus-8f7f42fa9d0b79c2,libparquet_variant_compute-a325887c1ef4a4fd,libparquet_variant_json-0c1764a48747cf29,libparquet_variant-d3c4cea94a2e5356,libuuid-633acebe4dd39b56,libgetrandom-6fb4fa131d55e16e,libthrift-bd211c1a9990929e,libordered_float-52086a0908845e29,libinteger_encoding-18b1de7c624ae930,libbyteorder-a1217a6702b133f4,libobject_store-c80166888e208fdf,libquick_xml-75daaea5b91696c2,libhumantime-bf01b46c42501253,libthiserror-2752c84c27a56930,libparking_lot-7251d5f2d52a8bb1,libparking_lot_core-6f71c85c063d5167,liblock_api-e877d28516454a8a,libscopeguard-1e6b6f7983da7f43,libreqwest-adaa584328db370e,libserde_urlencoded-1f0701c39dcbe9bc,libhyper_rustls-c6205a8407f63f06,librustls_native_certs-e3d3fa56894546f6,libopenssl_probe-86c0cdea09ec189a,libtokio_rustls-2e84b24c021e82a4,librustls-63882e6b6ae11363,libsubtle-83b019dd42ca4f1d,libwebpki-1b69a7aa1c17dc3d,libring-9e5f1ad5613223cc,libgetrandom-79612e2f12609d7a,libuntrusted-1b7c03d6e086528a,librustls_pki_types-24f0fef10169b5d9,libzeroize-3390776000cf3817,libtower_http-67169435ec0407cd,libiri_string-fac605d5bdfba4b1,libtower-ac17b1b7c353d967,libtower_layer-b3ebbbd05b293d7f,libhyper_util-32eb797ad8c24c7a,libipnet-745abc103b360f9d,libtower_service-8b825a4f85e23710,libhyper-34defddd13be75ae,libwant-3165c3b2f4cede69,libtry_lock-668f4ec066733aa7,libhttparse-f9accd83452600c8,libh2-5b32073ab00b8ab5,libtracing-c61216d3d484b0d1,libtracing_core-5d894ea23672831b,libfnv-c0f39635cc6b435f,libpin_utils-55f5d0b234cc470c,libatomic_waker-acadaf710f276989,libhttpdate-acc1d1657caa6b09,libtokio_util-6ddc08a69d53949a,libtokio-c3c818193d0bfab4,libsocket2-33c67fc03946cb86,libmio-9338eef4408599a2,libhttp_body_util-048a17381e54072f,libhttp_body-88e95966ca62a294,liblog-6218895e653f1851,liburl-8a637189f130c7e3,libidna-454310176f5f5984,libutf8_iter-e80d13882f28c6fe,libidna_adapter-186fb2e6a8f8b5e5,libicu_properties-b6435bfef1dfa307,libicu_properties_data-a8992ce02c0ff2c7,libicu_normalizer-6b44328edabfbd02,libsmallvec-4af9372de779741a,libicu_normalizer_data-2ea5f812b769cc39,libicu_collections-bdfacd3b485d4b1b,libpotential_utf-0ecf10952d09596c,libicu_provider-d0cc4a0390b5b36a,libicu_locale_core-7d4e99d5797a7f57,libtinystr-adc938b143d88d15,liblitemap-985057942de1a744,libwriteable-62e8cabe10ae8e87,libzerovec-bd2fcb57865490c7,libzerotrie-a131d38420a9f9ca,libyoke-5d06e92c6a68a719,libstable_deref_trait-b9d7c8d5e29ce2e9,libzerofrom-fcd66bf14d93077e,libform_urlencoded-5b4a2672c381fa7a,libpercent_encoding-eb8e072b87add51f,libhttp-7593e209b98299e0,libsync_wrapper-08706437daba55ca,libcriterion-7d99a5da743cfd7b,libpage_size-dc2a05e269107d3f,liballoca-63b8c1a929a65bef,libciborium-6adc709311a8a5c4,libciborium_ll-bcd8ae310cbdd4ef,libciborium_io-9e406e44b5f502aa,libclap-d4c924006f504cc5,libclap_builder-94c142d29259f148,libclap_lex-c6511f8621dd88b2,libanstyle-f1306417cdfccadd,liboorandom-b52f4145e3c2c238,libanes-94572c31b1834294,libtinytemplate-effd0a15ce18afbd,libcriterion_plot-bbb3852e5b8953f0,libitertools-29621852c8f52ac3,libeither-5466612c90644134,libcast-91fb687a93bd874f,libwalkdir-abfabc28a61a2a42,libsame_file-20926664078ad268,libarrow-21f3a7a999fc0a5b,libarrow_row-ac410ae3ff5ff051,libarrow_json-bf6b0cddf4b2cfcc,libsimdutf8-b5a805bfbf3c2d98,libindexmap-3ea89e73bdf7046d,libequivalent-2e3dfff5b22d0c01,libarrow_ipc-c3a5215fb47c7723,liblz4_flex-9756105a11b22ffc,libtwox_hash-272a1caeccc19444,libzstd-0b85fd865441a681,libzstd_safe-e101e4aaf9b30f52,libzstd_sys-c26a5c8e7cede682,libflatbuffers-f53ca60316a21705,libarrow_csv-50aa425732297de1,libcsv-029d5d4e891e4c0a,libcsv_core-af26608cd100771c,libarrow_string-7b6c2f789084e4b7,libregex-ad1230e2b7302609,libregex_automata-ab5916c4a816ce98,libaho_corasick-d891cfffe42fc5ba,libregex_syntax-360bad80433c9df3,libarrow_cast-284044cc8bc8ffbf,libatoi-200ef851be556cf3,libryu-0735f59322c3f4dd,libbase64-7443869e87ab93bc,libcomfy_table-06b00759ac85f53d,libunicode_segmentation-64fbbef3c1227a9c,libunicode_width-fa14a3b62a7ec7f7,liblexical_core-82c3347f1eb7a9ad,liblexical_write_float-883a379db1e41cfd,liblexical_write_integer-1682f352881bf5cf,liblexical_parse_float-64fe6f930f0657f3,liblexical_parse_integer-0103e43ddc50f13a,liblexical_util-b261622fe8af7191,libarrow_arith-60e993e7b84ffee9,libarrow_ord-c14eb78ee5f387e1,libarrow_select-eda90797bbad1f07,libarrow_array-8eadb67fa4cd5892,libfutures-f6556793ce31104f,libfutures_executor-8ab2950bd5693b46,libfutures_util-adf8c498e3ca2d1c,libfutures_io-b14d175fab7de153,libslab-a2456913c0ba51f0,libfutures_channel-4cfb1461f051be40,libpin_project_lite-26656699ee326701,libfutures_sink-336b5a7bb84472e7,libfutures_task-147992c07fd025a0,libfutures_core-f5d836de68c2fcc6,libahash-d24602cf94839f47,libonce_cell-cf1006a21f78f273,libhashbrown-5b1f22d68b94b4c2,libnum_complex-1565e166ebc1aff0,libchrono-e884652b26200d47,libiana_time_zone-8c4048791fcb4d5b,libarrow_data-7d663b07b4014d27,libarrow_schema-bbcb06017e02dc81,libserde_json-9bb4a06d8a75ed0c,libmemchr-1d3d1ef9a6b1922d,libitoa-aa9ff90392e333e9,libzmij-714d32cd3aff6cd0,libbitflags-66fa5599aa8ced7e,libarrow_buffer-efc5c987afed176c,libbytes-4536b7bbee4a3aaa,libhalf-628ac419fbf34fd7,librand_distr-e9186fe1b7a9bec7,librand-95cf620bf8e7ca72,librand_chacha-64bc8fc9dad85659,libppv_lite86-69f705228cd13eb7,librand_core-7edc281d22897d7c,libgetrandom-1866965f04ea8265,liblibc-7782b8150ccb4f4f,libcfg_if-9f43721614bce0ef,libzerocopy-1bf55104b2b71a0b,libnum_bigint-f34df526b843dcd1,libserde-198c1d4911956344,libserde_core-e4cd2c13c00d061b,libnum_integer-42d26df496f5b5bf,libnum_traits-bc080c97b76a23a2}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lstdc++" "-lstdc++" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustceXnEKk/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/alamb/arrow-rs/target/release/build/zstd-sys-fbfc4ded5eaa5d3b/out" "-L" "/home/alamb/arrow-rs/target/release/build/alloca-98d44869933e2b73/out" "-L" "/home/alamb/arrow-rs/target/release/build/link-cplusplus-30691bd4f8146ac0/out" "-L" "/home/alamb/arrow-rs/target/release/build/ring-abaafa288866f10f/out" "-L" "/home/alamb/arrow-rs/target/release/build/snappy_src-f49729b0027d7acb/out" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/alamb/arrow-rs/target/release/deps/arrow_reader_clickbench-a191605b0bc9b462" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs" "--ld-path=/usr/bin/mold"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: mold: fatal: library not found: stdc++
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
          

error: could not compile `parquet` (bench "arrow_reader_clickbench") due to 1 previous error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

parquet Changes to the parquet crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants