This is an automated email from the ASF dual-hosted git repository.
agrove pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new aaad010e82 Remove vestigal conbench integration (#9855)
aaad010e82 is described below
commit aaad010e82d51d84c441f11f4359616fab39b960
Author: Andrew Lamb <[email protected]>
AuthorDate: Fri Mar 29 09:25:55 2024 -0400
Remove vestigal conbench integration (#9855)
---
conbench/.flake8 | 2 -
conbench/.gitignore | 130 ---------------------
conbench/.isort.cfg | 2 -
conbench/README.md | 252 -----------------------------------------
conbench/_criterion.py | 98 ----------------
conbench/benchmarks.json | 8 --
conbench/benchmarks.py | 41 -------
conbench/requirements-test.txt | 3 -
conbench/requirements.txt | 1 -
9 files changed, 537 deletions(-)
diff --git a/conbench/.flake8 b/conbench/.flake8
deleted file mode 100644
index e44b810841..0000000000
--- a/conbench/.flake8
+++ /dev/null
@@ -1,2 +0,0 @@
-[flake8]
-ignore = E501
diff --git a/conbench/.gitignore b/conbench/.gitignore
deleted file mode 100755
index aa44ee2adb..0000000000
--- a/conbench/.gitignore
+++ /dev/null
@@ -1,130 +0,0 @@
-# Byte-compiled / optimized / DLL files
-__pycache__/
-*.py[cod]
-*$py.class
-
-# C extensions
-*.so
-
-# Distribution / packaging
-.Python
-build/
-develop-eggs/
-dist/
-downloads/
-eggs/
-.eggs/
-lib/
-lib64/
-parts/
-sdist/
-var/
-wheels/
-pip-wheel-metadata/
-share/python-wheels/
-*.egg-info/
-.installed.cfg
-*.egg
-MANIFEST
-
-# PyInstaller
-# Usually these files are written by a python script from a template
-# before PyInstaller builds the exe, so as to inject date/other infos into it.
-*.manifest
-*.spec
-
-# Installer logs
-pip-log.txt
-pip-delete-this-directory.txt
-
-# Unit test / coverage reports
-htmlcov/
-.tox/
-.nox/
-.coverage
-.coverage.*
-.cache
-nosetests.xml
-coverage.xml
-*.cover
-*.py,cover
-.hypothesis/
-.pytest_cache/
-
-# Translations
-*.mo
-*.pot
-
-# Django stuff:
-*.log
-local_settings.py
-db.sqlite3
-db.sqlite3-journal
-
-# Flask stuff:
-instance/
-.webassets-cache
-
-# Scrapy stuff:
-.scrapy
-
-# Sphinx documentation
-docs/_build/
-
-# PyBuilder
-target/
-
-# Jupyter Notebook
-.ipynb_checkpoints
-
-# IPython
-profile_default/
-ipython_config.py
-
-# pyenv
-.python-version
-
-# pipenv
-# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in
version control.
-# However, in case of collaboration, if having platform-specific
dependencies or dependencies
-# having no cross-platform support, pipenv may install dependencies that
don't work, or not
-# install all needed dependencies.
-#Pipfile.lock
-
-# PEP 582; used by e.g. github.com/David-OConnor/pyflow
-__pypackages__/
-
-# Celery stuff
-celerybeat-schedule
-celerybeat.pid
-
-# SageMath parsed files
-*.sage.py
-
-# Environments
-.env
-.venv
-env/
-venv/
-ENV/
-env.bak/
-venv.bak/
-
-# Spyder project settings
-.spyderproject
-.spyproject
-
-# Rope project settings
-.ropeproject
-
-# mkdocs documentation
-/site
-
-# mypy
-.mypy_cache/
-.dmypy.json
-dmypy.json
-
-# Pyre type checker
-.pyre/
-
diff --git a/conbench/.isort.cfg b/conbench/.isort.cfg
deleted file mode 100644
index f238bf7ea1..0000000000
--- a/conbench/.isort.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-[settings]
-profile = black
diff --git a/conbench/README.md b/conbench/README.md
deleted file mode 100644
index f655ac8bd2..0000000000
--- a/conbench/README.md
+++ /dev/null
@@ -1,252 +0,0 @@
-<!---
- 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.
--->
-
-# DataFusion + Conbench Integration
-
-
-## Quick start
-
-```
-$ cd ~/arrow-datafusion/conbench/
-$ conda create -y -n conbench python=3.9
-$ conda activate conbench
-(conbench) $ pip install -r requirements.txt
-(conbench) $ conbench datafusion
-```
-
-## Example output
-
-```
-{
- "batch_id": "3c82f9d23fce49328b78ba9fd963b254",
- "context": {
- "benchmark_language": "Rust"
- },
- "github": {
- "commit": "e8c198b9fac6cd8822b950b9f71898e47965488d",
- "repository": "https://github.com/dianaclarke/arrow-datafusion"
- },
- "info": {},
- "machine_info": {
- "architecture_name": "x86_64",
- "cpu_core_count": "8",
- "cpu_frequency_max_hz": "2400000000",
- "cpu_l1d_cache_bytes": "65536",
- "cpu_l1i_cache_bytes": "131072",
- "cpu_l2_cache_bytes": "4194304",
- "cpu_l3_cache_bytes": "0",
- "cpu_model_name": "Apple M1",
- "cpu_thread_count": "8",
- "gpu_count": "0",
- "gpu_product_names": [],
- "kernel_name": "20.6.0",
- "memory_bytes": "17179869184",
- "name": "diana",
- "os_name": "macOS",
- "os_version": "10.16"
- },
- "run_id": "ec2a50b9380c470b96d7eb7d63ab5b77",
- "stats": {
- "data": [
- "0.001532",
- "0.001394",
- "0.001333",
- "0.001356",
- "0.001379",
- "0.001361",
- "0.001307",
- "0.001348",
- "0.001436",
- "0.001397",
- "0.001339",
- "0.001523",
- "0.001593",
- "0.001415",
- "0.001344",
- "0.001312",
- "0.001402",
- "0.001362",
- "0.001329",
- "0.001330",
- "0.001447",
- "0.001413",
- "0.001536",
- "0.001330",
- "0.001333",
- "0.001338",
- "0.001333",
- "0.001331",
- "0.001426",
- "0.001575",
- "0.001362",
- "0.001343",
- "0.001334",
- "0.001383",
- "0.001476",
- "0.001356",
- "0.001362",
- "0.001334",
- "0.001390",
- "0.001497",
- "0.001330",
- "0.001347",
- "0.001331",
- "0.001468",
- "0.001377",
- "0.001351",
- "0.001328",
- "0.001509",
- "0.001338",
- "0.001355",
- "0.001332",
- "0.001485",
- "0.001370",
- "0.001366",
- "0.001507",
- "0.001358",
- "0.001331",
- "0.001463",
- "0.001362",
- "0.001336",
- "0.001428",
- "0.001343",
- "0.001359",
- "0.001905",
- "0.001726",
- "0.001411",
- "0.001433",
- "0.001391",
- "0.001453",
- "0.001346",
- "0.001339",
- "0.001420",
- "0.001330",
- "0.001422",
- "0.001683",
- "0.001426",
- "0.001349",
- "0.001342",
- "0.001430",
- "0.001330",
- "0.001436",
- "0.001331",
- "0.001415",
- "0.001332",
- "0.001408",
- "0.001343",
- "0.001392",
- "0.001371",
- "0.001655",
- "0.001354",
- "0.001438",
- "0.001347",
- "0.001341",
- "0.001374",
- "0.001453",
- "0.001352",
- "0.001358",
- "0.001398",
- "0.001362",
- "0.001454"
- ],
- "iqr": "0.000088",
- "iterations": 100,
- "max": "0.001905",
- "mean": "0.001401",
- "median": "0.001362",
- "min": "0.001307",
- "q1": "0.001340",
- "q3": "0.001428",
- "stdev": "0.000095",
- "time_unit": "s",
- "times": [],
- "unit": "s"
- },
- "tags": {
- "name": "aggregate_query_group_by",
- "suite": "aggregate_query_group_by"
- },
- "timestamp": "2022-02-09T01:32:55.769468+00:00"
-}
-```
-
-## Debug with test benchmark
-
-```
-(conbench) $ cd ~/arrow-datafusion/conbench/
-(conbench) $ conbench test --iterations=3
-
-Benchmark result:
-{
- "batch_id": "41a144761bc24d82b94efa70d6e460b3",
- "context": {
- "benchmark_language": "Python"
- },
- "github": {
- "commit": "e8c198b9fac6cd8822b950b9f71898e47965488d",
- "repository": "https://github.com/dianaclarke/arrow-datafusion"
- },
- "info": {
- "benchmark_language_version": "Python 3.9.7"
- },
- "machine_info": {
- "architecture_name": "x86_64",
- "cpu_core_count": "8",
- "cpu_frequency_max_hz": "2400000000",
- "cpu_l1d_cache_bytes": "65536",
- "cpu_l1i_cache_bytes": "131072",
- "cpu_l2_cache_bytes": "4194304",
- "cpu_l3_cache_bytes": "0",
- "cpu_model_name": "Apple M1",
- "cpu_thread_count": "8",
- "gpu_count": "0",
- "gpu_product_names": [],
- "kernel_name": "20.6.0",
- "memory_bytes": "17179869184",
- "name": "diana",
- "os_name": "macOS",
- "os_version": "10.16"
- },
- "run_id": "71f46362db8844afacea82cba119cefc",
- "stats": {
- "data": [
- "0.000001",
- "0.000001",
- "0.000000"
- ],
- "iqr": "0.000000",
- "iterations": 3,
- "max": "0.000001",
- "mean": "0.000001",
- "median": "0.000001",
- "min": "0.000000",
- "q1": "0.000000",
- "q3": "0.000001",
- "stdev": "0.000001",
- "time_unit": "s",
- "times": [],
- "unit": "s"
- },
- "tags": {
- "name": "test"
- },
- "timestamp": "2022-02-09T01:36:45.823615+00:00"
-}
-```
-
diff --git a/conbench/_criterion.py b/conbench/_criterion.py
deleted file mode 100644
index 168a1b9b6c..0000000000
--- a/conbench/_criterion.py
+++ /dev/null
@@ -1,98 +0,0 @@
-# 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.
-
-import collections
-import csv
-import os
-import pathlib
-import subprocess
-
-import conbench.runner
-from conbench.machine_info import github_info
-
-
-def _result_in_seconds(row):
- # sample_measured_value - The value of the measurement for this sample.
- # Note that this is the measured value for the whole sample, not the
- # time-per-iteration To calculate the time-per-iteration, use
- # sample_measured_value/iteration_count
- # --
https://bheisler.github.io/criterion.rs/book/user_guide/csv_output.html
- count = int(row["iteration_count"])
- sample = float(row["sample_measured_value"])
- return sample / count / 10**9
-
-
-def _parse_benchmark_group(row):
- parts = row["group"].split(",")
- if len(parts) > 1:
- suite, name = parts[0], ",".join(parts[1:])
- else:
- suite, name = row["group"], row["group"]
- return suite.strip(), name.strip()
-
-
-def _read_results(src_dir):
- results = collections.defaultdict(lambda: collections.defaultdict(list))
- path = pathlib.Path(os.path.join(src_dir, "target", "criterion"))
- for path in list(path.glob("**/new/raw.csv")):
- with open(path) as csv_file:
- reader = csv.DictReader(csv_file)
- for row in reader:
- suite, name = _parse_benchmark_group(row)
- results[suite][name].append(_result_in_seconds(row))
- return results
-
-
-def _execute_command(command):
- try:
- print(command)
- result = subprocess.run(command, capture_output=True, check=True)
- except subprocess.CalledProcessError as e:
- print(e.stderr.decode("utf-8"))
- raise e
- return result.stdout.decode("utf-8"), result.stderr.decode("utf-8")
-
-
-class CriterionBenchmark(conbench.runner.Benchmark):
- external = True
-
- def run(self, **kwargs):
- src_dir = os.path.join(os.getcwd(), "..")
- self._cargo_bench(src_dir)
- results = _read_results(src_dir)
- for suite in results:
- self.conbench.mark_new_batch()
- for name, data in results[suite].items():
- yield self._record_result(suite, name, data, kwargs)
-
- def _cargo_bench(self, src_dir):
- os.chdir(src_dir)
- _execute_command(["cargo", "bench"])
-
- def _record_result(self, suite, name, data, options):
- tags = {"suite": suite}
- result = {"data": data, "unit": "s"}
- context = {"benchmark_language": "Rust"}
- github = github_info()
- return self.conbench.record(
- result,
- name,
- tags=tags,
- context=context,
- github=github,
- options=options,
- )
diff --git a/conbench/benchmarks.json b/conbench/benchmarks.json
deleted file mode 100644
index bb70335477..0000000000
--- a/conbench/benchmarks.json
+++ /dev/null
@@ -1,8 +0,0 @@
-[
- {
- "command": "datafusion",
- "flags": {
- "language": "Rust"
- }
- }
-]
diff --git a/conbench/benchmarks.py b/conbench/benchmarks.py
deleted file mode 100644
index f80b3add90..0000000000
--- a/conbench/benchmarks.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# 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.
-
-import conbench.runner
-
-import _criterion
-
-
[email protected]_benchmark
-class TestBenchmark(conbench.runner.Benchmark):
- name = "test"
-
- def run(self, **kwargs):
- yield self.conbench.benchmark(
- self._f(),
- self.name,
- options=kwargs,
- )
-
- def _f(self):
- return lambda: 1 + 1
-
-
[email protected]_benchmark
-class CargoBenchmarks(_criterion.CriterionBenchmark):
- name = "datafusion"
- description = "Run Arrow DataFusion micro benchmarks."
diff --git a/conbench/requirements-test.txt b/conbench/requirements-test.txt
deleted file mode 100644
index 5e5647acd2..0000000000
--- a/conbench/requirements-test.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-black
-flake8
-isort
diff --git a/conbench/requirements.txt b/conbench/requirements.txt
deleted file mode 100644
index a877c7b44e..0000000000
--- a/conbench/requirements.txt
+++ /dev/null
@@ -1 +0,0 @@
-conbench