n8n/packages/testing/performance/benchmarks/expression-engine/patterns-current.bench.ts
Danny Martini 648962eefb
feat(benchmark): Add expression engine benchmark suite with production patterns (#26451)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:24:40 +00:00

36 lines
825 B
TypeScript

/**
* Tier 1: Current Engine (Tournament) Pattern Benchmarks
*
* Benchmarks expression evaluation through the full Workflow.expression path
* using the current (Tournament) engine.
*
* Run: pnpm --filter=@n8n/performance bench
*/
import { Expression } from 'n8n-workflow';
import {
createWorkflow,
evaluate,
makeSmallData,
makeMediumData,
makeLargeData,
useCurrentEngine,
} from './fixtures/data';
import { definePatternBenchmarks } from './fixtures/pattern-benchmarks';
await useCurrentEngine();
if (Expression.getActiveImplementation() !== 'current') {
throw new Error(`Engine not set to 'current' — got '${Expression.getActiveImplementation()}'`);
}
const workflow = createWorkflow();
definePatternBenchmarks(
'current',
workflow,
evaluate,
makeSmallData(),
makeMediumData(),
makeLargeData(),
);