native/core/Cargo.toml (111 lines of code) (raw):

# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. [package] name = "datafusion-comet" version = { workspace = true } homepage = "https://datafusion.apache.org/comet" repository = "https://github.com/apache/datafusion-comet" authors = ["Apache DataFusion <dev@datafusion.apache.org>"] description = "Apache DataFusion Comet: High performance accelerator for Apache Spark" readme = "README.md" license = "Apache-2.0" edition = "2021" include = [ "benches/*.rs", "src/**/*.rs", "Cargo.toml", ] # this crate is used in the Spark plugin and does not contain public Rust APIs so we do not publish this crate publish = false [dependencies] arrow = { workspace = true } parquet = { workspace = true, default-features = false, features = ["experimental"] } futures = { workspace = true } mimalloc = { version = "*", default-features = false, optional = true } tikv-jemallocator = { version = "0.6.0", optional = true, features = ["disable_initial_exec_tls"] } tikv-jemalloc-ctl = { version = "0.6.0", optional = true, features = ["disable_initial_exec_tls", "stats"] } tokio = { version = "1", features = ["rt-multi-thread"] } async-trait = { workspace = true } log = "0.4" log4rs = "1.2.0" thiserror = { workspace = true } lazy_static = "1.4.0" prost = "0.13.5" jni = "0.21" snap = "1.1" # we disable default features in lz4_flex to force the use of the faster unsafe encoding and decoding implementation lz4_flex = { version = "0.11.3", default-features = false } zstd = "0.13.3" rand = { workspace = true } num = { workspace = true } bytes = { workspace = true } tempfile = "3.8.0" itertools = "0.14.0" paste = "1.0.14" datafusion = { workspace = true } once_cell = "1.18.0" regex = { workspace = true } crc32fast = "1.3.2" simd-adler32 = "0.3.7" datafusion-comet-spark-expr = { workspace = true } datafusion-comet-proto = { workspace = true } object_store = { workspace = true } url = { workspace = true } parking_lot = "0.12.3" datafusion-comet-objectstore-hdfs = { path = "../hdfs", optional = true, default-features = false, features = ["hdfs"] } [target.'cfg(target_os = "linux")'.dependencies] procfs = "0.17.0" [dev-dependencies] pprof = { version = "0.14.0", features = ["flamegraph"] } criterion = { version = "0.5.1", features = ["async_tokio"] } jni = { version = "0.21", features = ["invocation"] } lazy_static = "1.4" assertables = "9" hex = "0.4.3" datafusion-functions-nested = { version = "47.0.0" } [features] default = [] hdfs = ["datafusion-comet-objectstore-hdfs"] jemalloc = ["tikv-jemallocator", "tikv-jemalloc-ctl"] # exclude optional packages from cargo machete verifications [package.metadata.cargo-machete] ignored = ["datafusion-comet-objectstore-hdfs"] [lib] name = "comet" # "rlib" is for benchmarking with criterion. crate-type = ["cdylib", "rlib"] [[bench]] name = "parquet_read" harness = false [[bench]] name = "bit_util" harness = false [[bench]] name = "row_columnar" harness = false [[bench]] name = "shuffle_writer" harness = false [[bench]] name = "parquet_decode" harness = false [[bench]] name = "filter" harness = false [[bench]] name = "bloom_filter_agg" harness = false