Skip to content

W-23599769: benchmark existing artifacts and CLI commands - #158

Merged
andres-rad merged 6 commits into
masterfrom
W-23599769/benchmark-with-artifacts
Aug 10, 2026
Merged

W-23599769: benchmark existing artifacts and CLI commands#158
andres-rad merged 6 commits into
masterfrom
W-23599769/benchmark-with-artifacts

Conversation

@andres-rad

@andres-rad andres-rad commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Allow Node, Python, and CLI benchmarks to use existing artifacts without local native builds.
  • Attribute wrapper benchmark results to the native library selected by the external artifact.
  • Replace the synthetic CLI harness with end-to-end dw run first-run measurements.

Validation

  • ./gradlew native-cli:test
  • ./gradlew native-lib:benchmarkJsUnitTest -PskipNodeTests=false
  • ./gradlew native-lib:test -PskipNodeTests=true -PskipPythonTests=true using GraalVM 21.0.11
  • Gradle dry runs for default and artifact-override benchmark task dependencies
  • Ordinary CLI UTF-16 XML corpus command

Using Custom Artifacts

Runner Variable Expected artifact
Node wrapper DW_BENCH_NODE_PACKAGE Extracted @dataweave/native package containing dist/index.js and native/dwlib.*
Python wrapper DW_BENCH_PY_SITE Site-packages-style directory containing dataweave/__init__.py and dataweave/native/dwlib.*
CLI DW_BENCH_BIN Executable ordinary dw binary
DW_BENCH_NODE_PACKAGE=/tmp/artifacts/node/package \
DW_BENCH_PY_SITE=/tmp/artifacts/python/site-packages \
DW_BENCH_BIN=/tmp/artifacts/cli/dw \
./gradlew benchmarkCompare -Pbenchmark=true

When an override is set, Gradle skips that runner's corresponding local native artifact build. The engine runner remains local because it runs against this checkout's Maven runtime dependency.

@andres-rad
andres-rad requested a review from a team as a code owner August 10, 2026 16:47
@andres-rad
andres-rad merged commit 929b178 into master Aug 10, 2026
5 checks passed
@andres-rad
andres-rad deleted the W-23599769/benchmark-with-artifacts branch August 10, 2026 20:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants