Benchmark Performance
Performance at Scale
Chrome · Windows 11 · dev machine (Alder Lake class) · 64GB RAM · June 2026
| Configuration | Time | Throughput | Test Notes |
|---|---|---|---|
| 100K–5M rows · balanced | < 1 min | — | Completes well under a minute; not separately benchmarked per size |
| Throughput (high match-density) | — | ~187K matches/sec | Measured at 10.8GB (Config A, non-dedupe) |
| 10.8GB CSV · email · non-dedupe | ~13 min | ~187K matches/sec | 141,891,891 matches → 14.8GB output; peak heap 122MB, live floor 18MB |
| 9.3GB CSV · email · dedupe | ~5 min | external sort-merge | 47.3M matches → 20,000,000 distinct (exact); peak heap 326MB |
| Memory (any file size) | — | constant | Output streams to disk (OPFS) — heap flat at ~18MB live floor regardless of input/output size |
| CSV file-size limit | — | 64GB | Sanity guard; CSV is RAM-constant, bounded by time/disk not memory |
| Excel (.xlsx) file-size limit | — | 200MB | SheetJS full-loads the workbook (~588MB OOM ceiling measured); convert larger to CSV |
Results vary by hardware, browser, number of pattern types active, validation mode, and data density. The 10.8GB and 9.3GB rows are the TRUE-10GB gate (June 2026, forced-GC heap sampling). CSV is constant-memory; Excel is capped because SheetJS loads the whole workbook.
SplitForge vs. Python: Which Tool Fits Your Workflow?
No single tool is right for every situation. Here's an honest breakdown.
- Data contains PII, PHI, or regulated financial information that should not leave your device
- You need Luhn, SSA, or NANP validation without writing or maintaining custom code
- You want normalization (E.164, ISO 8601) in the same step as extraction
- You need context view for audit trails or compliance review documentation
- CSV files of any practical size (constant memory) or Excel under 200MB
- You don't write Python — or don't want to for this specific task
- Throughput of ~187K matches/sec is sufficient for your dataset
- You need to run extraction on a schedule or inside an automated data pipeline
- You need custom regex patterns beyond the 8 built-in types
- You need scheduled/automated runs, or named-entity recognition beyond the 8 structured patterns
- Extraction is part of a larger ETL or transformation workflow
- You're comfortable writing and maintaining Python code
- You need output piped directly into another process or database
Feature Performance Overhead
Input Format Performance
Calculate Your Time Savings
Typical: 2–4 types per task
Monthly = 12, Weekly = 52, Daily = 260
Analyst avg: $45–75/hr
- Writing and maintaining regex for each pattern type
- Debugging false positives from regex-only matching
- Writing Luhn algorithm and SSA validation logic from scratch
- A separate normalization pass after extraction
- The compliance risk of using online tools for PII data
Testing Methodology
10 runs per config · drop high/low · report avg · test datasets available on request · re-tested quarterly
Honest Limitations: Where SplitForge Pattern Extraction Falls Short
No tool is perfect for every use case. Here's where Server-Side Entity Extraction (Python re / AWS Comprehend / spaCy) might be a better choice, and the real limitations of our browser-based architecture.
Browser-Based Processing
Performance depends on your device's RAM and CPU. Modern laptops (2022+) handle 10M+ rows easily, but older devices may struggle with very large files.
No Offline Mode (Initial Load)
Requires internet connection to load the tool initially. Processing happens offline in your browser after loading.
Browser Tab Memory Limits
Most browsers limit individual tabs to 2-4GB RAM. This is the practical ceiling for file size.
CSV: no practical size limit · Excel: 200MB
CSV streams to disk (constant memory) and has been measured to 10.8GB / 141.9M matches with a flat ~18MB heap floor; the 64GB cap is just a sanity guard. Excel is full-loaded by SheetJS and capped at 200MB.
No Custom Regex Patterns
Pattern Extraction supports only the 8 built-in types. User-defined regex patterns for custom schemas (account IDs, internal product codes, proprietary identifiers) are not currently supported.
No Automation or API
Pattern Extraction is a browser tool — no REST API, CLI, or pipeline integration. Cannot be embedded in ETL workflows, scheduled jobs, or triggered programmatically.
Excel Loads Fully Into Memory (200MB cap)
There is no result cap (the old 1M-match limit was removed — output streams to disk). The one memory-bound input is Excel: SheetJS loads the entire .xlsx workbook into memory, so it is capped at 200MB (~588MB measured OOM ceiling).
Single File Per Session
Pattern Extraction scans one file at a time. No batch processing across multiple files in a single operation.
When to Use Server-Side Entity Extraction (Python re / AWS Comprehend / spaCy) Instead
You need pattern extraction in an automated pipeline or scheduled job
SplitForge has no API. Browser-only workflow cannot run on a schedule or be triggered programmatically.
You need custom regex patterns for proprietary data schemas
SplitForge supports only the 8 built-in types. Custom schemas require user-defined regex.
You need to scan 50M+ row files
For scheduled/automated runs there is no API (browser-only). CSV scale itself is not the limit — it is constant-memory to 10GB+.
You need named entity recognition beyond structured patterns
SplitForge extracts structured patterns (email, phone, etc.). Extracting person names, organization names, or location references requires NER models.
Questions about limitations? Check our FAQ section below or contact us via the feedback button.
Frequently Asked Questions
How accurate is the ~187K matches/second benchmark?
Why does throughput vary so much by validation mode?
What is the difference between CSV streaming mode and text paste mode?
How does validation mode affect result quality vs. speed?
What is the deduplication overhead?
Can I reproduce these benchmarks?
What file formats are supported and does format affect speed?
What is the largest file I can process?
Benchmarks last updated: June 2026. Re-tested after major algorithm changes. Last update: P2 — output moved to disk-backed (OPFS) streaming (constant memory, result cap removed) and the phone matcher tightened to NANP-strict.
Ready to Extract 142M Matches from 10GB — at 18MB of Memory?
No installation. File contents never uploaded. 8 validated pattern types, post-extraction normalization, and a results preview — all in your browser.