mirror of
https://github.com/langchain-ai/delta-rs.git
synced 2026-07-16 10:14:27 -04:00
167162e8f6
Profiles for different use cases: - dev: Fast local development with good debug experience (Cargo defaults) - test: test builds with minimal debug info to save disk/RAM (custom) - release: Production Rust crates - maximum performance (Cargo defaults) - bench: For benchmarking with flamegraphs (cargo bench) - profiling: For performance profiling with release opts + debug info - ci: CI/CD optimized - fast builds, release-like performance - python-release: Python wheel builds - portable, reproducible (PyPI releases) Signed-off-by: Florian Valeye <florian.valeye@gmail.com>
45 lines
1.1 KiB
YAML
45 lines
1.1 KiB
YAML
name: python_benchmark
|
|
|
|
# This is separate from the python_build so that it doesn't need to run on the merge group
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
|
|
defaults:
|
|
run:
|
|
working-directory: ./python
|
|
|
|
jobs:
|
|
benchmark:
|
|
name: Python Benchmark
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
|
|
- name: Setup Environment
|
|
uses: ./.github/actions/setup-env
|
|
|
|
- name: Build deltalake in release mode
|
|
run: |
|
|
PROFILE=ci make develop
|
|
|
|
# Download previous benchmark result from cache (if exists)
|
|
- name: Download previous benchmark data
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ./cache
|
|
key: ${{ runner.os }}-benchmark
|
|
|
|
- name: Run benchmark
|
|
run: |
|
|
uv run pytest tests/test_benchmark.py -m '(benchmark and pyarrow)' --benchmark-json output.json
|
|
|
|
- name: Store benchmark result
|
|
uses: benchmark-action/github-action-benchmark@v1
|
|
with:
|
|
tool: "pytest"
|
|
output-file-path: python/output.json
|
|
external-data-json-path: ./cache/benchmark-data.json
|
|
fail-on-alert: true
|