← All posts

Can This System Handle 5,000 Materials? We Ran a Full Test

In all the years we've been building production management software, the question we hear most isn't "how powerful are your features?" — it's:

"My factory has 5,000 materials. Will your software lag?"

That's a hard question to answer honestly, because "lag" depends on a dozen variables — material structure, BOM depth, order volume, disk speed, RAM. Anyone who says "absolutely no lag" is being dishonest.

So we did something different: we ran the test ourselves, and published the methodology, the data, and the results — so you can judge for yourself, and reproduce it.

If your factory sits between 5,000 and 30,000 materials, this article is written for you.

1. Test environment (fully transparent)

We ran the test on an ordinary office PC — not a server, not a high-end workstation:

ItemConfiguration
CPUIntel i5-10400 (6 cores / 12 threads)
RAM16 GB
Disk512 GB SATA SSD
OSWindows 10 Pro 22H2
SoftwarePMClite v1.x (current release)

Why this configuration: it's the standard office spec for most SMB factories. We didn't want to test on a benchmark-topping machine — those numbers would be meaningless to real users.

2. Test dataset (reproducible)

The test data isn't random — it follows the real structure of a mid-sized electronics factory:

Data categoryCountNotes
Materials5,00020 categories incl. resistors, capacitors, MCUs, PCBs, structural parts
Products30045 of them sub-assemblies (15%)
BOM rows12,000Average 40 rows per product, up to 4 nested levels
Inventory rows5,000Each with bin location, quantity, update timestamp
Sales orders10,000Spanning 12 months, various statuses
Purchase orders3,000With lines; some complete, some in transit
Work orders4,000Covering pending / in-progress / completed
Production plans1,200Linked to work orders
Pick lists800Including e-signature data
Inventory logs30,000Weighted distribution (last 30 days = 40%)
Dataset size ~12 MB Realistic timeline Realistic statuses ~1-2 years of accumulation

3. Test results

Methodology: each operation tested 10 times in a row, first-run cache effects removed, average taken. The whole test was recorded on screen — see the download section at the end.

3.1 Startup and first screen

OperationTimeExperience
Double-click icon → login appears2.1 s🟢 Smooth
Password → dashboard1.8 s🟢 Smooth
Dashboard KPIs fully rendered1.4 s🟢 Smooth

For reference: comparable domestic ERP software typically takes 5-10 seconds to start under the same configuration and data volume.

3.2 High-frequency operations

OperationTimeExperience
Material list (5,000 rows) opens0.3 s🟢 Instant
Material paging (100 per page)0.18 s🟢 Instant
Search material "resistor"0.22 s🟢 Instant
Product list (300 rows) opens0.4 s🟢 Smooth
Sales order list (10,000 orders)0.5 s🟢 Smooth
Purchase order list (3,000 orders)0.35 s🟢 Smooth
Work order list (4,000 orders)0.6 s🟢 Smooth
Inventory page opens0.25 s🟢 Instant
Finance page opens0.4 s🟢 Smooth

3.3 BOM and compute operations

OperationTimeExperience
Open 4-level BOM tree (nested sub-assemblies)0.5 s🟢 Smooth
Expand a 100-row sub-assembly0.15 s🟢 Instant
Single-product BOM cost roll-up0.08 s🟢 Instant
MRP run (all 300 products)2.3 s🟡 Acceptable
Kit check (4,000 work orders, first run)3.5 s🟡 Slow first time
Kit check (cache hit)0.05 s🟢 Instant
One-click auto-scheduling (4,000 work orders)1.8 s🟢 Smooth

3.4 LAN sync

5 PCs collaborating (1 host + 4 clients) on a gigabit switched LAN:

ScenarioTime
Host: client pushes one order0.3 s
Client: pulls a full snapshot2.8 s
5 PCs operating simultaneously, average response0.5 s

Note: client pulls use full snapshots. Double the data, and sync time doubles too. We know this limitation — see "Honest boundaries" below.

4. Stress test: what happens at 10× the data?

We also generated a large dataset of 30,000 materials + 20,000 sales orders + 100,000 inventory logs:

Metric5,000 materials30,000 materials
Startup2.1 s5.8 s
Material list opens0.3 s1.2 s
Sales order paging0.3 s0.6 s
Dashboard KPIs fully rendered1.4 s4.5 s
MRP run2.3 s8.5 s
BOM tree opens0.5 s1.8 s

Conclusion: at 30,000 materials the system is still usable, but startup and dashboard visibly slow down (3-5 s). Daily operations — paging, searching, editing — remain smooth.

5. Honest boundaries

We won't sugarcoat. These are the scenarios we explicitly don't recommend:

Material countRecommendation
Materials < 3,000🟢 Perfect fit (instant)
Materials 3,000-10,000🟢 Recommended (this test range)
Materials 10,000-30,000🟡 Usable, startup slower (2-6 s)
Materials > 30,000🟠 Contact us for an assessment
Materials > 100,000🔴 Not recommended — choose a full ERP

Other boundaries:

6. Why is a small app faster?

You might wonder: how can a few-megabyte app outperform a big-name ERP? Three design decisions:

The trade-off: no cross-site, no internet access, no mobile. That's a design choice, not a defect.

If your factory is on one site, one LAN, with 2-5 PCs collaborating — this architecture fits exactly.

7. Test it yourself

The real purpose of this test isn't to sell you anything — it's to give you a way to verify for yourself.

Option 1: download the test dataset
Import our 5,000-material dataset and try it out. You'll see that page flips stay under 0.3 s, dashboard KPIs show real business numbers (no fake data), and the various warnings (overdue / shortage / slow-moving) all trigger.

Option 2: generate your own dataset
Download the data generator and tweak the parameters (say, 8,000 materials) to produce data that matches your actual situation.

Option 3: contact us
If your dataset is especially large (say, 50,000 materials), we'll run a free fit assessment — send us an export of your data structure, we'll run the test, and tell you whether it fits.

8. FAQ

Q1: My factory only has 500 materials — is this article irrelevant?
A: Fully relevant. Fewer materials only means faster. This article is for anyone worried about lag.

Q2: Why does startup take 5 seconds at 30,000 materials?
A: Mostly because loading data from an encrypted database takes time. We're building segmented loading (materials/products first, orders in the background) — expected to bring it under 2 s.

Q3: We have 20 people who'd use it simultaneously — can it hold up?
A: LAN sync is designed for 2-5 PCs. 20 simultaneous users exceeds the design envelope. In that case, we recommend sharing accounts (e.g., a shared warehouse PC), or contacting us about an enterprise edition assessment.

Q4: Did you test on a high-end machine?
A: i5-10400 + 16 GB + SATA SSD is a 2020-era mainstream office spec, not high-end. You can reproduce the test on your own PC.

Q5: What about 6-level nested BOMs — will they be slow?
A: Our 4-level test opened in 0.5 s. 6 levels will be a bit slower, but because the tree renders lazily (only the first level expands by default), the perceived experience is essentially the same.

9. Final thoughts

In all these years building production management software, the comment that touched me most came from a customer:

"You're the first ERP vendor that lets me test before buying."

We hope this article helps more PMCs and factory owners avoid costly mistakes — without listening to sales pitches or watching review videos. Download the data, run it, feel it for yourself.

If the results meet your expectations, try it out. If they don't, tell us — help us make the product better.

Appendix: test file downloads

📥 Test dataset (5,000 materials) Ready to import · ~12 MB · Available via WeChat → 🧰 Data generator Tweak parameters (materials, orders, BOM depth) to produce datasets of any size · Available via WeChat →

Want to see how fast it runs on your own PC?

On-premise · One-time purchase · 30-day full-feature trial

Download the installer →

All test data, methodology and results in this article are reproducible. Test environment: an ordinary office PC (i5-10400 / 16 GB / SATA SSD) — not comparable to benchmark figures from high-end servers. PMClite is an independent product.