QuantumDMN vs Competitors
See how QuantumDMN compares to other DMN engines on the market. We've built QuantumDMN to address the limitations of traditional decision engines, particularly around stateful decisioning, quantitative metrics, and real-time simulation.
Quick Overview
DMN 1.5 Level 3
Full conformance with the latest DMN specification
99.32% TCK
Industry-leading specification compliance
Sub-ms Latency
Native Go performance, no JVM overhead
Stateful Engine
Built-in support for windowed metrics
Detailed Comparison
Core Capabilities
| Feature | QuantumDMN | Camunda | Drools | jDMN |
|---|---|---|---|---|
| DMN 1.5 Support | Yes | Yes | Yes | Yes |
| Conformance Level 3 | Yes | Yes[1] | Yes[2] | Yes[3] |
| FEEL Support | Full | Partial | Full | Full |
| Decision Tables | Yes | Partial | Yes | Yes |
| Boxed Expressions | Yes | Partial | Yes | Yes |
| Business Knowledge Models | Yes | Partial | Yes | Yes |
| Decision Services | Yes | No | Yes | Yes |
What Makes QuantumDMN Different
| Feature | QuantumDMN | Camunda | Drools | jDMN |
|---|---|---|---|---|
| Stateful Decisioning | Native | External* | External* | No |
| Windowed Metrics | Native | External* | External* | No |
| KPIs as First-Class Citizens | Yes | No | No | No |
| Real-time Simulation | Yes | No | No | No |
| In-flight Impact Analysis | Yes | No | No | No |
| Canary Deployments | Planned | Enterprise | No | No |
*Requires external data stores and pre-processing
Developer Experience
| Feature | QuantumDMN | Camunda | Drools | jDMN |
|---|---|---|---|---|
| FEEL Language Server | Yes | Modeler Only | No | No |
| Autocompletion | Yes | Partial | No | No |
| Hover Documentation | Yes | Partial | No | No |
| Semantic Highlighting | Yes | Partial | No | No |
| Visual Modeler | Web-based | Desktop + Web[4] | Web[5] | No |
| Live Evaluation Preview | Yes | No | No | No |
Runtime & Performance
| Feature | QuantumDMN | Camunda | Drools | jDMN |
|---|---|---|---|---|
| Runtime | Go Native | JVM | JVM | JVM |
| Cold Start | ~5ms | ~10s+ | ~1s+ | ~200ms |
| Memory Footprint | ~10MB-50MB | ~100MB-~8GB with full platform[6] | ~150MB+ | ~50MB |
| Containerization | Optimized | Heavy | Heavy | Medium |
| Serverless Ready | Yes | Challenging[7] | Challenging[8] | Partial |
Deployment & Operations
| Feature | QuantumDMN | Camunda | Drools | jDMN |
|---|---|---|---|---|
| SaaS Offering | Yes | Yes[9] | No | No |
| Self-hosted | Yes | Yes | Yes | Yes |
| Git Integration | Planned | Enterprise | No | No |
| Multi-tenancy | Native | Enterprise | Manual | No |
| Audit Trails (Why a decision was made) | Native Graphical | Yes | Custom Dev Required | No |
| OpenTelemetry | Yes | Yes | Manual | No |
SDK Support
| Language | QuantumDMN | Camunda | Drools | jDMN |
|---|---|---|---|---|
| Go | Yes | Deprecated[10] | No | No |
| Java | Yes | Native | Native | Native |
| JavaScript/TypeScript | Yes | Yes[11] | No | Yes[12] |
| Python | Yes | Yes[13] | No | No |
| Ruby | Yes | No | No | No |
| .NET | Yes | Yes[14] | No | No |
TCK Compliance Details
| Engine | TCK Tests Passed | Total Tests | Compliance % |
|---|---|---|---|
| QuantumDMN | 3367 | 3390 | 99.32% |
| Camunda DMN-Scala 1.9.0 | 2850 | 3390 | 84.07%[1] |
| Camunda Platform 7.21.0 | 2741 | 3390 | 80.86%[15] |
| jDMN 9.0.0 | 3390 | 3390 | 100%[3] |
QuantumDMN's 23 failing tests are deliberate exclusions. We do not plan to support:
- External Java function calls - QuantumDMN is written in Go and does not include a JVM
- Regex backreferences - Go's RE2 regex engine does not support backreferences for performance and security reasons
- Unrealistic date ranges - Dates like
999999999-12-31exceed Go's time package limits and have no practical use
The Quant Advantage Explained
Stateful Decisioning: The Ledger
Traditional DMN engines are stateless - they evaluate inputs and return outputs without any memory of past decisions. This means you need to:
- Pre-compute all historical aggregates externally
- Pass all context to every decision call
- Build and maintain separate data pipelines for metrics
QuantumDMN introduces "The Ledger" - a built-in state management layer that enables:
// Traditional approach
precomputedData = computeRolling24hFraudScore(userId) // separate job
decision = evaluate(dmn, {...input, fraudScore: precomputedData})
// QuantumDMN approach
decision = evaluate(dmn, input) // metric computed in-flight
Real-time Simulation: The Sandbox
Before QuantumDMN, changing decision logic was a "deploy and pray" exercise. You'd push changes to production and hope the outcomes matched expectations.
The Sandbox allows you to:
- Run proposed changes against historical data
- See KPI impact before deployment
- Compare original vs. modified decision outcomes
- Validate business assumptions with real numbers
KPIs as First-Class Citizens
In traditional engines, KPIs are an afterthought - calculated in BI tools days or weeks after decisions are made.
QuantumDMN treats metrics as decision elements:
- Transactional Metrics: Calculated live (e.g., Debt-to-Income Ratio)
- Windowed Metrics: Aggregated from history (e.g., Rolling 24h Fraud Score)
- Blocking Metrics: Decisions can be halted based on calculated scores
Native Performance vs. JVM Overhead
Traditional engines like Drools run on the JVM, leading to slow "cold starts" and massive memory consumption (often hundreds of megabytes just for a basic knowledge base). This makes them poorly suited for modern, serverless, or highly-containerized architectures.
QuantumDMN is written in 100% native Go:
- Sub-millisecond decision evaluation
- Lightweight memory footprint (~10MB-50MB)
- Instant startup times, making it perfect for serverless infrastructure.
Complete Auditability
When managing business rules, knowing what was decided is only half the battle; you need to know why it was decided. Tools like Drools require significant custom development to trace the declarative rule graph and build audit trails.
QuantumDMN provides out-of-the-box audit trails for every transaction, instantly showing which rules fired, what the variables evaluated to, and precisely how the final decision was reached.
When to Choose QuantumDMN
QuantumDMN is ideal if you:
- Want to utilize full DMN 1.5 conformance
- Want to have the best User Experience designing and testing your decisions
- Want to extend capabilities of Camunda 8 decisions
- Need stateful decisions based on historical patterns
- Want to measure decision impact with real KPIs
- Want to simulate impact of decision changes against historical data
- Require high-volume processing with minimal resource usage and exceptional speed
- Want simple deployments on Kubernetes or VM platforms
- Want a single platform for modeling, testing, and deployment
- Want to utilize our FEEL language support during your work on decision models
Sources
- Camunda DMN-Scala TCK Results - 2850/3390 tests passed (July 2024)
- Drools DMN Conformance Level 3 - Full runtime support for DMN 1.1-1.6 at CL3
- jDMN TCK Results - Goldman Sachs jDMN 9.0.0: 3390/3390 tests passed
- Camunda Modeler - Desktop and Web modeler for BPMN/DMN
- KIE DMN Editor - Web-based DMN editor for Drools
- Camunda JVM Memory - Default Optimize heap: 1GB
- Camunda 8 Architecture - Camunda 8 requires distributed microservices (Zeebe)
- Drools Serverless Challenges - Kogito/GraalVM needed for cloud-native Drools
- Camunda Cloud - Camunda's SaaS offering (Camunda 8)
- Camunda Go Client - Go client for Zeebe (deprecated)
- Camunda JS SDK - Node.js SDK for Camunda 8
- jDMN JavaScript Runtime - Goldman Sachs jDMN JavaScript runtime
- Camunda Python Client - PyZeebe community client
- Camunda .NET Client - C# client for Zeebe
- Camunda Platform 7 TCK Results - 2741/3390 tests passed
Ready to Try QuantumDMN?
Start with Developer tier and experience quantitative decisioning today. If you have any more questions, feel free to reach out to us.