🆕 Added January 8, 2026 - When to Use Parallel Processing
The overhead of spawning PEPS instances + JSON/XML IPC + file-based communication is significant (5-15 seconds startup). Use this decision table to determine when multi-instance processing is worthwhile.
📊 Decision Matrix
| Scenario | Single Instance | Multi-Instance | Verdict |
|---|---|---|---|
| Single part, <20 blades | 30-60 sec | 45-60 sec (overhead wipes out gains) | Single |
| Single part, 50+ blades | 3-5 min | 1.5-2 min (blades are independent) | Maybe |
| Batch: 10+ parts queued | 10× sequential time | Near-parallel processing | YES |
| Massive model (1000+ faces) | 15-30 min | Distribute face analysis | YES |
| Quick validation/preview | 10 sec | 20 sec (overhead dominates) | Single |
✅ Sweet Spot for Multi-Instance
- Batch jobs from web API/CRM - multiple parts queued, farm them out to waiting instances
- Blade-parallel processing - if you have 40+ blades, each blade profile is independent work
- Analysis phases - weld detection, reach study, raycast validation on separate instances
❌ NOT Worth It For
- Interactive single-part workflow
- Anything under ~2 minutes total
- Operations that are inherently sequential (can't parallelize)
🔄 JSON vs XML Data Format
Recommendation: Support both formats. JSON primary (90% of modern integrations), XML for legacy enterprise. Keep existing PEPS XML parser, add thin JSON→XML converter at API boundary (~50 lines of code).
📦 Existing Infrastructure
@@rstart.ovm - Entry point, detects -x (XML) and -w (waiting mode) flags
fxRunBackgroundInstance.ovm - Orchestrator, spawns multiple PEPS instances
fxExecuteBackgroundTasks.ovm - Worker, loads XML and executes fixture generation
fxLogInstance.ovm - XML-based semaphore system for status/heartbeat