Initial commit

This commit is contained in:
Valère Plantevin
2026-04-20 21:23:37 -04:00
commit 27c05c982f
38 changed files with 2992 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=10000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=7000 EventAsset=2000 ActuatorAsset=1000 total=10000
[warmup] running 500 ticks...
tick= 0 | entities= 10000 (sensor_active= 8817, alerts= 0, act= 1000) | faults= 183 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 94.0 sim= 20.0 export= 11.0 diag= 0.0 µs | exported=0.08 MB acks=1000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 10000 (sensor_active= 4488, alerts= 23, act= 1000) | faults= 92482 lockouts= 0 | rss= 0.0 MB | tick_mean= 105.6 µs | ingest= 48.8 sim= 6.0 export= 3.9 diag= 0.0 µs | exported=40.70 MB acks=501000
tick= 2000 | entities= 10000 (sensor_active= 4425, alerts= 23, act= 1000) | faults=182979 lockouts= 0 | rss= 0.0 MB | tick_mean= 105.6 µs | ingest= 48.6 sim= 5.9 export= 3.9 diag= 0.0 µs | exported=121.92 MB acks=1501000
tick= 3000 | entities= 10000 (sensor_active= 4507, alerts= 27, act= 1000) | faults=273085 lockouts= 0 | rss= 0.0 MB | tick_mean= 105.2 µs | ingest= 48.6 sim= 5.9 export= 3.9 diag= 0.0 µs | exported=203.15 MB acks=2501000
tick= 4000 | entities= 10000 (sensor_active= 4502, alerts= 15, act= 1000) | faults=363376 lockouts= 0 | rss= 0.0 MB | tick_mean= 105.6 µs | ingest= 48.8 sim= 5.9 export= 3.9 diag= 0.0 µs | exported=284.37 MB acks=3501000
tick= 5000 | entities= 10000 (sensor_active= 4527, alerts= 24, act= 1000) | faults=453183 lockouts= 0 | rss= 0.0 MB | tick_mean= 105.8 µs | ingest= 48.9 sim= 5.9 export= 3.9 diag= 0.0 µs | exported=365.59 MB acks=4501000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 0.531 s
Sustained tick rate: 9424.5 Hz
Per-tick mean (wall): 10.6 µs
Per-system mean (µs):
IngestSystem: 48.8
SimulationSystem: 5.9
ExportSystem: 3.9
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 498016
Total actuator lockouts: 0
Export totals:
Bytes exported: 406.11 MB
Acks processed: 5000000
Alerts seen: 104943
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────

View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=100000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=70000 EventAsset=20000 ActuatorAsset=10000 total=100000
[warmup] running 500 ticks...
tick= 0 | entities= 100000 (sensor_active= 88228, alerts= 0, act=10000) | faults= 1772 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 202.0 sim= 75.0 export= 41.0 diag= 0.0 µs | exported=0.81 MB acks=10000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 100000 (sensor_active= 45396, alerts= 218, act=10000) | faults=924085 lockouts= 0 | rss= 0.0 MB | tick_mean= 1101.8 µs | ingest= 500.9 sim= 61.2 export= 40.6 diag= 0.0 µs | exported=406.92 MB acks=5010000
tick= 2000 | entities= 100000 (sensor_active= 44998, alerts= 212, act=10000) | faults=1823730 lockouts= 0 | rss= 0.0 MB | tick_mean= 1105.1 µs | ingest= 501.0 sim= 61.1 export= 40.6 diag= 0.0 µs | exported=1219.14 MB acks=15010000
tick= 3000 | entities= 100000 (sensor_active= 45132, alerts= 187, act=10000) | faults=2723608 lockouts= 0 | rss= 0.0 MB | tick_mean= 1114.2 µs | ingest= 504.7 sim= 61.5 export= 40.8 diag= 0.0 µs | exported=2031.31 MB acks=25010000
tick= 4000 | entities= 100000 (sensor_active= 45039, alerts= 226, act=10000) | faults=3624295 lockouts= 0 | rss= 0.0 MB | tick_mean= 1112.0 µs | ingest= 505.0 sim= 61.7 export= 40.9 diag= 0.0 µs | exported=2843.48 MB acks=35010000
tick= 5000 | entities= 100000 (sensor_active= 45069, alerts= 206, act=10000) | faults=4525217 lockouts= 0 | rss= 0.0 MB | tick_mean= 1112.9 µs | ingest= 504.7 sim= 61.8 export= 40.9 diag= 0.0 µs | exported=3655.68 MB acks=45010000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 5.555 s
Sustained tick rate: 900.2 Hz
Per-tick mean (wall): 111.2 µs
Per-system mean (µs):
IngestSystem: 504.2
SimulationSystem: 61.8
ExportSystem: 41.0
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 4974449
Total actuator lockouts: 0
Export totals:
Bytes exported: 4060.96 MB
Acks processed: 50000000
Alerts seen: 1028407
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────

View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=150000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=105000 EventAsset=30000 ActuatorAsset=15000 total=150000
[warmup] running 500 ticks...
tick= 0 | entities= 150000 (sensor_active=132379, alerts= 0, act=15000) | faults= 2621 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 306.0 sim= 113.0 export= 61.0 diag= 0.0 µs | exported=1.22 MB acks=15000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 150000 (sensor_active= 67721, alerts= 326, act=15000) | faults=1385323 lockouts= 0 | rss= 0.0 MB | tick_mean= 1717.3 µs | ingest= 755.7 sim= 92.9 export= 61.8 diag= 0.0 µs | exported=610.34 MB acks=7515000
tick= 2000 | entities= 150000 (sensor_active= 67238, alerts= 278, act=15000) | faults=2736064 lockouts= 0 | rss= 0.0 MB | tick_mean= 1721.7 µs | ingest= 755.2 sim= 93.0 export= 61.8 diag= 0.0 µs | exported=1828.59 MB acks=22515000
tick= 3000 | entities= 150000 (sensor_active= 67728, alerts= 330, act=15000) | faults=4087020 lockouts= 0 | rss= 0.0 MB | tick_mean= 1719.6 µs | ingest= 753.9 sim= 93.0 export= 61.5 diag= 0.0 µs | exported=3046.89 MB acks=37515000
tick= 4000 | entities= 150000 (sensor_active= 67533, alerts= 323, act=15000) | faults=5437256 lockouts= 0 | rss= 0.0 MB | tick_mean= 1715.2 µs | ingest= 753.4 sim= 92.6 export= 61.5 diag= 0.0 µs | exported=4265.19 MB acks=52515000
tick= 5000 | entities= 150000 (sensor_active= 67700, alerts= 334, act=15000) | faults=6786973 lockouts= 0 | rss= 0.0 MB | tick_mean= 1726.7 µs | ingest= 755.2 sim= 93.0 export= 61.8 diag= 0.0 µs | exported=5483.51 MB acks=67515000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 8.604 s
Sustained tick rate: 581.1 Hz
Per-tick mean (wall): 171.6 µs
Per-system mean (µs):
IngestSystem: 754.2
SimulationSystem: 92.5
ExportSystem: 61.7
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 7460636
Total actuator lockouts: 0
Export totals:
Bytes exported: 6091.45 MB
Acks processed: 75000000
Alerts seen: 1543036
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────

View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=200000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=140000 EventAsset=40000 ActuatorAsset=20000 total=200000
[warmup] running 500 ticks...
tick= 0 | entities= 200000 (sensor_active=176493, alerts= 0, act=20000) | faults= 3507 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 415.0 sim= 160.0 export= 84.0 diag= 0.0 µs | exported=1.62 MB acks=20000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 200000 (sensor_active= 90145, alerts= 390, act=20000) | faults=1847083 lockouts= 0 | rss= 0.0 MB | tick_mean= 2413.0 µs | ingest=1003.2 sim= 125.4 export= 83.3 diag= 0.0 µs | exported=813.81 MB acks=10020000
tick= 2000 | entities= 200000 (sensor_active= 90392, alerts= 385, act=20000) | faults=3647521 lockouts= 0 | rss= 0.0 MB | tick_mean= 2409.9 µs | ingest=1003.2 sim= 125.4 export= 83.1 diag= 0.0 µs | exported=2438.20 MB acks=30020000
tick= 3000 | entities= 200000 (sensor_active= 90372, alerts= 391, act=20000) | faults=5447700 lockouts= 0 | rss= 0.0 MB | tick_mean= 2380.4 µs | ingest= 998.3 sim= 124.5 export= 82.8 diag= 0.0 µs | exported=4062.57 MB acks=50020000
tick= 4000 | entities= 200000 (sensor_active= 89452, alerts= 451, act=20000) | faults=7247668 lockouts= 0 | rss= 0.0 MB | tick_mean= 2380.1 µs | ingest= 998.7 sim= 124.7 export= 82.5 diag= 0.0 µs | exported=5686.95 MB acks=70020000
tick= 5000 | entities= 200000 (sensor_active= 89914, alerts= 424, act=20000) | faults=9047286 lockouts= 0 | rss= 0.0 MB | tick_mean= 2386.7 µs | ingest= 999.0 sim= 124.7 export= 82.8 diag= 0.0 µs | exported=7311.35 MB acks=90020000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 11.966 s
Sustained tick rate: 417.9 Hz
Per-tick mean (wall): 239.4 µs
Per-system mean (µs):
IngestSystem: 1001.3
SimulationSystem: 125.2
ExportSystem: 83.1
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 9946420
Total actuator lockouts: 0
Export totals:
Bytes exported: 8121.92 MB
Acks processed: 100000000
Alerts seen: 2056796
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────

View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=25000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=17500 EventAsset=5000 ActuatorAsset=2500 total=25000
[warmup] running 500 ticks...
tick= 0 | entities= 25000 (sensor_active= 22049, alerts= 0, act= 2500) | faults= 451 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 67.0 sim= 19.0 export= 11.0 diag= 0.0 µs | exported=0.20 MB acks=2500
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 25000 (sensor_active= 11440, alerts= 49, act= 2500) | faults=231419 lockouts= 0 | rss= 0.0 MB | tick_mean= 274.4 µs | ingest= 125.7 sim= 15.0 export= 9.9 diag= 0.0 µs | exported=101.74 MB acks=1252500
tick= 2000 | entities= 25000 (sensor_active= 11301, alerts= 43, act= 2500) | faults=456552 lockouts= 0 | rss= 0.0 MB | tick_mean= 274.6 µs | ingest= 125.8 sim= 15.1 export= 9.9 diag= 0.0 µs | exported=304.78 MB acks=3752500
tick= 3000 | entities= 25000 (sensor_active= 11421, alerts= 58, act= 2500) | faults=681247 lockouts= 0 | rss= 0.0 MB | tick_mean= 276.1 µs | ingest= 126.4 sim= 15.1 export= 10.0 diag= 0.0 µs | exported=507.82 MB acks=6252500
tick= 4000 | entities= 25000 (sensor_active= 11157, alerts= 48, act= 2500) | faults=906865 lockouts= 0 | rss= 0.0 MB | tick_mean= 274.5 µs | ingest= 125.7 sim= 15.1 export= 9.9 diag= 0.0 µs | exported=710.88 MB acks=8752500
tick= 5000 | entities= 25000 (sensor_active= 11216, alerts= 49, act= 2500) | faults=1131163 lockouts= 0 | rss= 0.0 MB | tick_mean= 274.9 µs | ingest= 125.9 sim= 15.0 export= 9.9 diag= 0.0 µs | exported=913.91 MB acks=11252500
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 1.378 s
Sustained tick rate: 3629.5 Hz
Per-tick mean (wall): 27.5 µs
Per-system mean (µs):
IngestSystem: 125.6
SimulationSystem: 15.0
ExportSystem: 9.9
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 1243639
Total actuator lockouts: 0
Export totals:
Bytes exported: 1015.22 MB
Acks processed: 12500000
Alerts seen: 254654
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────

View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=50000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=35000 EventAsset=10000 ActuatorAsset=5000 total=50000
[warmup] running 500 ticks...
tick= 0 | entities= 50000 (sensor_active= 44082, alerts= 0, act= 5000) | faults= 918 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 104.0 sim= 34.0 export= 18.0 diag= 0.0 µs | exported=0.41 MB acks=5000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 50000 (sensor_active= 22364, alerts= 118, act= 5000) | faults=462345 lockouts= 0 | rss= 0.0 MB | tick_mean= 548.8 µs | ingest= 254.6 sim= 30.7 export= 20.0 diag= 0.0 µs | exported=203.46 MB acks=2505000
tick= 2000 | entities= 50000 (sensor_active= 22510, alerts= 97, act= 5000) | faults=912440 lockouts= 0 | rss= 0.0 MB | tick_mean= 546.7 µs | ingest= 253.0 sim= 30.3 export= 19.9 diag= 0.0 µs | exported=609.56 MB acks=7505000
tick= 3000 | entities= 50000 (sensor_active= 22512, alerts= 90, act= 5000) | faults=1361728 lockouts= 0 | rss= 0.0 MB | tick_mean= 549.3 µs | ingest= 254.3 sim= 30.6 export= 20.1 diag= 0.0 µs | exported=1015.66 MB acks=12505000
tick= 4000 | entities= 50000 (sensor_active= 22519, alerts= 98, act= 5000) | faults=1812084 lockouts= 0 | rss= 0.0 MB | tick_mean= 549.2 µs | ingest= 254.1 sim= 30.5 export= 20.0 diag= 0.0 µs | exported=1421.74 MB acks=17505000
tick= 5000 | entities= 50000 (sensor_active= 22355, alerts= 101, act= 5000) | faults=2261407 lockouts= 0 | rss= 0.0 MB | tick_mean= 545.8 µs | ingest= 252.6 sim= 30.4 export= 19.9 diag= 0.0 µs | exported=1827.82 MB acks=22505000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 2.743 s
Sustained tick rate: 1822.8 Hz
Per-tick mean (wall): 54.9 µs
Per-system mean (µs):
IngestSystem: 254.0
SimulationSystem: 30.5
ExportSystem: 19.9
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 2486121
Total actuator lockouts: 0
Export totals:
Bytes exported: 2030.46 MB
Acks processed: 25000000
Alerts seen: 511654
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────

View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=75000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=52500 EventAsset=15000 ActuatorAsset=7500 total=75000
[warmup] running 500 ticks...
tick= 0 | entities= 75000 (sensor_active= 66146, alerts= 0, act= 7500) | faults= 1354 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 188.0 sim= 62.0 export= 32.0 diag= 0.0 µs | exported=0.61 MB acks=7500
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 75000 (sensor_active= 33877, alerts= 133, act= 7500) | faults=693165 lockouts= 0 | rss= 0.0 MB | tick_mean= 818.6 µs | ingest= 378.8 sim= 45.8 export= 30.8 diag= 0.0 µs | exported=305.18 MB acks=3757500
tick= 2000 | entities= 75000 (sensor_active= 33696, alerts= 163, act= 7500) | faults=1367793 lockouts= 0 | rss= 0.0 MB | tick_mean= 817.4 µs | ingest= 377.4 sim= 45.7 export= 30.6 diag= 0.0 µs | exported=914.34 MB acks=11257500
tick= 3000 | entities= 75000 (sensor_active= 33889, alerts= 145, act= 7500) | faults=2042643 lockouts= 0 | rss= 0.0 MB | tick_mean= 817.6 µs | ingest= 377.7 sim= 45.8 export= 30.6 diag= 0.0 µs | exported=1523.51 MB acks=18757500
tick= 4000 | entities= 75000 (sensor_active= 33657, alerts= 169, act= 7500) | faults=2717674 lockouts= 0 | rss= 0.0 MB | tick_mean= 815.9 µs | ingest= 376.7 sim= 45.6 export= 30.5 diag= 0.0 µs | exported=2132.66 MB acks=26257500
tick= 5000 | entities= 75000 (sensor_active= 33573, alerts= 162, act= 7500) | faults=3393495 lockouts= 0 | rss= 0.0 MB | tick_mean= 820.1 µs | ingest= 377.7 sim= 45.7 export= 30.7 diag= 0.0 µs | exported=2741.78 MB acks=33757500
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 4.094 s
Sustained tick rate: 1221.3 Hz
Per-tick mean (wall): 82.0 µs
Per-system mean (µs):
IngestSystem: 377.6
SimulationSystem: 45.7
ExportSystem: 30.6
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 3730093
Total actuator lockouts: 0
Export totals:
Bytes exported: 3045.72 MB
Acks processed: 37500000
Alerts seen: 771425
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────

8
results/final_table.csv Normal file
View File

@@ -0,0 +1,8 @@
entities,ticks,wall_s,hz,per_tick_us,ingest_us,sim_us,export_us,diag_us,sensor_faults,actuator_lockouts,exported_mb,acks,alerts,rss_mb
10000,5000,,,,48.8,5.9,3.9,0.0,498016,0,,5000000,104943,
25000,5000,,,,125.6,15.0,9.9,0.0,1243639,0,,12500000,254654,
50000,5000,,,,254.0,30.5,19.9,0.0,2486121,0,,25000000,511654,
75000,5000,,,,377.6,45.7,30.6,0.0,3730093,0,,37500000,771425,
100000,5000,,,,504.2,61.8,41.0,0.0,4974449,0,,50000000,1028407,
150000,5000,,,,754.2,92.5,61.7,0.0,7460636,0,,75000000,1543036,
200000,5000,,,,1001.3,125.2,83.1,0.0,9946420,0,,100000000,2056796,
1 entities ticks wall_s hz per_tick_us ingest_us sim_us export_us diag_us sensor_faults actuator_lockouts exported_mb acks alerts rss_mb
2 10000 5000 48.8 5.9 3.9 0.0 498016 0 5000000 104943
3 25000 5000 125.6 15.0 9.9 0.0 1243639 0 12500000 254654
4 50000 5000 254.0 30.5 19.9 0.0 2486121 0 25000000 511654
5 75000 5000 377.6 45.7 30.6 0.0 3730093 0 37500000 771425
6 100000 5000 504.2 61.8 41.0 0.0 4974449 0 50000000 1028407
7 150000 5000 754.2 92.5 61.7 0.0 7460636 0 75000000 1543036
8 200000 5000 1001.3 125.2 83.1 0.0 9946420 0 100000000 2056796

35
results/raw_10000.txt Normal file
View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=10000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=7000 EventAsset=2000 ActuatorAsset=1000 total=10000
[warmup] running 500 ticks...
tick= 0 | entities= 10000 (sensor_active= 8817, alerts= 0, act= 1000) | faults= 183 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 94.0 sim= 20.0 export= 11.0 diag= 0.0 µs | exported=0.08 MB acks=1000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 10000 (sensor_active= 4488, alerts= 23, act= 1000) | faults= 92482 lockouts= 0 | rss= 0.0 MB | tick_mean= 105.6 µs | ingest= 48.8 sim= 6.0 export= 3.9 diag= 0.0 µs | exported=40.70 MB acks=501000
tick= 2000 | entities= 10000 (sensor_active= 4425, alerts= 23, act= 1000) | faults=182979 lockouts= 0 | rss= 0.0 MB | tick_mean= 105.6 µs | ingest= 48.6 sim= 5.9 export= 3.9 diag= 0.0 µs | exported=121.92 MB acks=1501000
tick= 3000 | entities= 10000 (sensor_active= 4507, alerts= 27, act= 1000) | faults=273085 lockouts= 0 | rss= 0.0 MB | tick_mean= 105.2 µs | ingest= 48.6 sim= 5.9 export= 3.9 diag= 0.0 µs | exported=203.15 MB acks=2501000
tick= 4000 | entities= 10000 (sensor_active= 4502, alerts= 15, act= 1000) | faults=363376 lockouts= 0 | rss= 0.0 MB | tick_mean= 105.6 µs | ingest= 48.8 sim= 5.9 export= 3.9 diag= 0.0 µs | exported=284.37 MB acks=3501000
tick= 5000 | entities= 10000 (sensor_active= 4527, alerts= 24, act= 1000) | faults=453183 lockouts= 0 | rss= 0.0 MB | tick_mean= 105.8 µs | ingest= 48.9 sim= 5.9 export= 3.9 diag= 0.0 µs | exported=365.59 MB acks=4501000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 0.531 s
Sustained tick rate: 9424.5 Hz
Per-tick mean (wall): 10.6 µs
Per-system mean (µs):
IngestSystem: 48.8
SimulationSystem: 5.9
ExportSystem: 3.9
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 498016
Total actuator lockouts: 0
Export totals:
Bytes exported: 406.11 MB
Acks processed: 5000000
Alerts seen: 104943
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────

35
results/raw_100000.txt Normal file
View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=100000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=70000 EventAsset=20000 ActuatorAsset=10000 total=100000
[warmup] running 500 ticks...
tick= 0 | entities= 100000 (sensor_active= 88228, alerts= 0, act=10000) | faults= 1772 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 202.0 sim= 75.0 export= 41.0 diag= 0.0 µs | exported=0.81 MB acks=10000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 100000 (sensor_active= 45396, alerts= 218, act=10000) | faults=924085 lockouts= 0 | rss= 0.0 MB | tick_mean= 1101.8 µs | ingest= 500.9 sim= 61.2 export= 40.6 diag= 0.0 µs | exported=406.92 MB acks=5010000
tick= 2000 | entities= 100000 (sensor_active= 44998, alerts= 212, act=10000) | faults=1823730 lockouts= 0 | rss= 0.0 MB | tick_mean= 1105.1 µs | ingest= 501.0 sim= 61.1 export= 40.6 diag= 0.0 µs | exported=1219.14 MB acks=15010000
tick= 3000 | entities= 100000 (sensor_active= 45132, alerts= 187, act=10000) | faults=2723608 lockouts= 0 | rss= 0.0 MB | tick_mean= 1114.2 µs | ingest= 504.7 sim= 61.5 export= 40.8 diag= 0.0 µs | exported=2031.31 MB acks=25010000
tick= 4000 | entities= 100000 (sensor_active= 45039, alerts= 226, act=10000) | faults=3624295 lockouts= 0 | rss= 0.0 MB | tick_mean= 1112.0 µs | ingest= 505.0 sim= 61.7 export= 40.9 diag= 0.0 µs | exported=2843.48 MB acks=35010000
tick= 5000 | entities= 100000 (sensor_active= 45069, alerts= 206, act=10000) | faults=4525217 lockouts= 0 | rss= 0.0 MB | tick_mean= 1112.9 µs | ingest= 504.7 sim= 61.8 export= 40.9 diag= 0.0 µs | exported=3655.68 MB acks=45010000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 5.555 s
Sustained tick rate: 900.2 Hz
Per-tick mean (wall): 111.2 µs
Per-system mean (µs):
IngestSystem: 504.2
SimulationSystem: 61.8
ExportSystem: 41.0
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 4974449
Total actuator lockouts: 0
Export totals:
Bytes exported: 4060.96 MB
Acks processed: 50000000
Alerts seen: 1028407
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────

35
results/raw_150000.txt Normal file
View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=150000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=105000 EventAsset=30000 ActuatorAsset=15000 total=150000
[warmup] running 500 ticks...
tick= 0 | entities= 150000 (sensor_active=132379, alerts= 0, act=15000) | faults= 2621 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 306.0 sim= 113.0 export= 61.0 diag= 0.0 µs | exported=1.22 MB acks=15000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 150000 (sensor_active= 67721, alerts= 326, act=15000) | faults=1385323 lockouts= 0 | rss= 0.0 MB | tick_mean= 1717.3 µs | ingest= 755.7 sim= 92.9 export= 61.8 diag= 0.0 µs | exported=610.34 MB acks=7515000
tick= 2000 | entities= 150000 (sensor_active= 67238, alerts= 278, act=15000) | faults=2736064 lockouts= 0 | rss= 0.0 MB | tick_mean= 1721.7 µs | ingest= 755.2 sim= 93.0 export= 61.8 diag= 0.0 µs | exported=1828.59 MB acks=22515000
tick= 3000 | entities= 150000 (sensor_active= 67728, alerts= 330, act=15000) | faults=4087020 lockouts= 0 | rss= 0.0 MB | tick_mean= 1719.6 µs | ingest= 753.9 sim= 93.0 export= 61.5 diag= 0.0 µs | exported=3046.89 MB acks=37515000
tick= 4000 | entities= 150000 (sensor_active= 67533, alerts= 323, act=15000) | faults=5437256 lockouts= 0 | rss= 0.0 MB | tick_mean= 1715.2 µs | ingest= 753.4 sim= 92.6 export= 61.5 diag= 0.0 µs | exported=4265.19 MB acks=52515000
tick= 5000 | entities= 150000 (sensor_active= 67700, alerts= 334, act=15000) | faults=6786973 lockouts= 0 | rss= 0.0 MB | tick_mean= 1726.7 µs | ingest= 755.2 sim= 93.0 export= 61.8 diag= 0.0 µs | exported=5483.51 MB acks=67515000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 8.604 s
Sustained tick rate: 581.1 Hz
Per-tick mean (wall): 171.6 µs
Per-system mean (µs):
IngestSystem: 754.2
SimulationSystem: 92.5
ExportSystem: 61.7
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 7460636
Total actuator lockouts: 0
Export totals:
Bytes exported: 6091.45 MB
Acks processed: 75000000
Alerts seen: 1543036
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────

35
results/raw_200000.txt Normal file
View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=200000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=140000 EventAsset=40000 ActuatorAsset=20000 total=200000
[warmup] running 500 ticks...
tick= 0 | entities= 200000 (sensor_active=176493, alerts= 0, act=20000) | faults= 3507 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 415.0 sim= 160.0 export= 84.0 diag= 0.0 µs | exported=1.62 MB acks=20000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 200000 (sensor_active= 90145, alerts= 390, act=20000) | faults=1847083 lockouts= 0 | rss= 0.0 MB | tick_mean= 2413.0 µs | ingest=1003.2 sim= 125.4 export= 83.3 diag= 0.0 µs | exported=813.81 MB acks=10020000
tick= 2000 | entities= 200000 (sensor_active= 90392, alerts= 385, act=20000) | faults=3647521 lockouts= 0 | rss= 0.0 MB | tick_mean= 2409.9 µs | ingest=1003.2 sim= 125.4 export= 83.1 diag= 0.0 µs | exported=2438.20 MB acks=30020000
tick= 3000 | entities= 200000 (sensor_active= 90372, alerts= 391, act=20000) | faults=5447700 lockouts= 0 | rss= 0.0 MB | tick_mean= 2380.4 µs | ingest= 998.3 sim= 124.5 export= 82.8 diag= 0.0 µs | exported=4062.57 MB acks=50020000
tick= 4000 | entities= 200000 (sensor_active= 89452, alerts= 451, act=20000) | faults=7247668 lockouts= 0 | rss= 0.0 MB | tick_mean= 2380.1 µs | ingest= 998.7 sim= 124.7 export= 82.5 diag= 0.0 µs | exported=5686.95 MB acks=70020000
tick= 5000 | entities= 200000 (sensor_active= 89914, alerts= 424, act=20000) | faults=9047286 lockouts= 0 | rss= 0.0 MB | tick_mean= 2386.7 µs | ingest= 999.0 sim= 124.7 export= 82.8 diag= 0.0 µs | exported=7311.35 MB acks=90020000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 11.966 s
Sustained tick rate: 417.9 Hz
Per-tick mean (wall): 239.4 µs
Per-system mean (µs):
IngestSystem: 1001.3
SimulationSystem: 125.2
ExportSystem: 83.1
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 9946420
Total actuator lockouts: 0
Export totals:
Bytes exported: 8121.92 MB
Acks processed: 100000000
Alerts seen: 2056796
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────

35
results/raw_25000.txt Normal file
View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=25000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=17500 EventAsset=5000 ActuatorAsset=2500 total=25000
[warmup] running 500 ticks...
tick= 0 | entities= 25000 (sensor_active= 22049, alerts= 0, act= 2500) | faults= 451 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 67.0 sim= 19.0 export= 11.0 diag= 0.0 µs | exported=0.20 MB acks=2500
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 25000 (sensor_active= 11440, alerts= 49, act= 2500) | faults=231419 lockouts= 0 | rss= 0.0 MB | tick_mean= 274.4 µs | ingest= 125.7 sim= 15.0 export= 9.9 diag= 0.0 µs | exported=101.74 MB acks=1252500
tick= 2000 | entities= 25000 (sensor_active= 11301, alerts= 43, act= 2500) | faults=456552 lockouts= 0 | rss= 0.0 MB | tick_mean= 274.6 µs | ingest= 125.8 sim= 15.1 export= 9.9 diag= 0.0 µs | exported=304.78 MB acks=3752500
tick= 3000 | entities= 25000 (sensor_active= 11421, alerts= 58, act= 2500) | faults=681247 lockouts= 0 | rss= 0.0 MB | tick_mean= 276.1 µs | ingest= 126.4 sim= 15.1 export= 10.0 diag= 0.0 µs | exported=507.82 MB acks=6252500
tick= 4000 | entities= 25000 (sensor_active= 11157, alerts= 48, act= 2500) | faults=906865 lockouts= 0 | rss= 0.0 MB | tick_mean= 274.5 µs | ingest= 125.7 sim= 15.1 export= 9.9 diag= 0.0 µs | exported=710.88 MB acks=8752500
tick= 5000 | entities= 25000 (sensor_active= 11216, alerts= 49, act= 2500) | faults=1131163 lockouts= 0 | rss= 0.0 MB | tick_mean= 274.9 µs | ingest= 125.9 sim= 15.0 export= 9.9 diag= 0.0 µs | exported=913.91 MB acks=11252500
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 1.378 s
Sustained tick rate: 3629.5 Hz
Per-tick mean (wall): 27.5 µs
Per-system mean (µs):
IngestSystem: 125.6
SimulationSystem: 15.0
ExportSystem: 9.9
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 1243639
Total actuator lockouts: 0
Export totals:
Bytes exported: 1015.22 MB
Acks processed: 12500000
Alerts seen: 254654
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────

35
results/raw_50000.txt Normal file
View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=50000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=35000 EventAsset=10000 ActuatorAsset=5000 total=50000
[warmup] running 500 ticks...
tick= 0 | entities= 50000 (sensor_active= 44082, alerts= 0, act= 5000) | faults= 918 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 104.0 sim= 34.0 export= 18.0 diag= 0.0 µs | exported=0.41 MB acks=5000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 50000 (sensor_active= 22364, alerts= 118, act= 5000) | faults=462345 lockouts= 0 | rss= 0.0 MB | tick_mean= 548.8 µs | ingest= 254.6 sim= 30.7 export= 20.0 diag= 0.0 µs | exported=203.46 MB acks=2505000
tick= 2000 | entities= 50000 (sensor_active= 22510, alerts= 97, act= 5000) | faults=912440 lockouts= 0 | rss= 0.0 MB | tick_mean= 546.7 µs | ingest= 253.0 sim= 30.3 export= 19.9 diag= 0.0 µs | exported=609.56 MB acks=7505000
tick= 3000 | entities= 50000 (sensor_active= 22512, alerts= 90, act= 5000) | faults=1361728 lockouts= 0 | rss= 0.0 MB | tick_mean= 549.3 µs | ingest= 254.3 sim= 30.6 export= 20.1 diag= 0.0 µs | exported=1015.66 MB acks=12505000
tick= 4000 | entities= 50000 (sensor_active= 22519, alerts= 98, act= 5000) | faults=1812084 lockouts= 0 | rss= 0.0 MB | tick_mean= 549.2 µs | ingest= 254.1 sim= 30.5 export= 20.0 diag= 0.0 µs | exported=1421.74 MB acks=17505000
tick= 5000 | entities= 50000 (sensor_active= 22355, alerts= 101, act= 5000) | faults=2261407 lockouts= 0 | rss= 0.0 MB | tick_mean= 545.8 µs | ingest= 252.6 sim= 30.4 export= 19.9 diag= 0.0 µs | exported=1827.82 MB acks=22505000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 2.743 s
Sustained tick rate: 1822.8 Hz
Per-tick mean (wall): 54.9 µs
Per-system mean (µs):
IngestSystem: 254.0
SimulationSystem: 30.5
ExportSystem: 19.9
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 2486121
Total actuator lockouts: 0
Export totals:
Bytes exported: 2030.46 MB
Acks processed: 25000000
Alerts seen: 511654
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────

35
results/raw_75000.txt Normal file
View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=75000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=52500 EventAsset=15000 ActuatorAsset=7500 total=75000
[warmup] running 500 ticks...
tick= 0 | entities= 75000 (sensor_active= 66146, alerts= 0, act= 7500) | faults= 1354 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 188.0 sim= 62.0 export= 32.0 diag= 0.0 µs | exported=0.61 MB acks=7500
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 75000 (sensor_active= 33877, alerts= 133, act= 7500) | faults=693165 lockouts= 0 | rss= 0.0 MB | tick_mean= 818.6 µs | ingest= 378.8 sim= 45.8 export= 30.8 diag= 0.0 µs | exported=305.18 MB acks=3757500
tick= 2000 | entities= 75000 (sensor_active= 33696, alerts= 163, act= 7500) | faults=1367793 lockouts= 0 | rss= 0.0 MB | tick_mean= 817.4 µs | ingest= 377.4 sim= 45.7 export= 30.6 diag= 0.0 µs | exported=914.34 MB acks=11257500
tick= 3000 | entities= 75000 (sensor_active= 33889, alerts= 145, act= 7500) | faults=2042643 lockouts= 0 | rss= 0.0 MB | tick_mean= 817.6 µs | ingest= 377.7 sim= 45.8 export= 30.6 diag= 0.0 µs | exported=1523.51 MB acks=18757500
tick= 4000 | entities= 75000 (sensor_active= 33657, alerts= 169, act= 7500) | faults=2717674 lockouts= 0 | rss= 0.0 MB | tick_mean= 815.9 µs | ingest= 376.7 sim= 45.6 export= 30.5 diag= 0.0 µs | exported=2132.66 MB acks=26257500
tick= 5000 | entities= 75000 (sensor_active= 33573, alerts= 162, act= 7500) | faults=3393495 lockouts= 0 | rss= 0.0 MB | tick_mean= 820.1 µs | ingest= 377.7 sim= 45.7 export= 30.7 diag= 0.0 µs | exported=2741.78 MB acks=33757500
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 4.094 s
Sustained tick rate: 1221.3 Hz
Per-tick mean (wall): 82.0 µs
Per-system mean (µs):
IngestSystem: 377.6
SimulationSystem: 45.7
ExportSystem: 30.6
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 3730093
Total actuator lockouts: 0
Export totals:
Bytes exported: 3045.72 MB
Acks processed: 37500000
Alerts seen: 771425
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────

271
results/summary.txt Normal file
View File

@@ -0,0 +1,271 @@
ECS DT Benchmark Sweep — Mon Apr 20 21:17:09 UTC 2026
=== System Information ===
Date: 2026-04-20 21:17:09 UTC
OS: Darwin 25.4.0
Arch: arm64
Target CPU: apple-m1
Rust: rustc 1.94.0 (4a4ef493e 2026-03-02)
Cargo: cargo 1.94.0 (85eff7c80 2026-01-15)
Apple M4 Max
Memory: 128.0 GB
=== entities=10000 ===
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=10000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=7000 EventAsset=2000 ActuatorAsset=1000 total=10000
[warmup] running 500 ticks...
tick= 0 | entities= 10000 (sensor_active= 8817, alerts= 0, act= 1000) | faults= 183 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 94.0 sim= 20.0 export= 11.0 diag= 0.0 µs | exported=0.08 MB acks=1000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 10000 (sensor_active= 4488, alerts= 23, act= 1000) | faults= 92482 lockouts= 0 | rss= 0.0 MB | tick_mean= 105.6 µs | ingest= 48.8 sim= 6.0 export= 3.9 diag= 0.0 µs | exported=40.70 MB acks=501000
tick= 2000 | entities= 10000 (sensor_active= 4425, alerts= 23, act= 1000) | faults=182979 lockouts= 0 | rss= 0.0 MB | tick_mean= 105.6 µs | ingest= 48.6 sim= 5.9 export= 3.9 diag= 0.0 µs | exported=121.92 MB acks=1501000
tick= 3000 | entities= 10000 (sensor_active= 4507, alerts= 27, act= 1000) | faults=273085 lockouts= 0 | rss= 0.0 MB | tick_mean= 105.2 µs | ingest= 48.6 sim= 5.9 export= 3.9 diag= 0.0 µs | exported=203.15 MB acks=2501000
tick= 4000 | entities= 10000 (sensor_active= 4502, alerts= 15, act= 1000) | faults=363376 lockouts= 0 | rss= 0.0 MB | tick_mean= 105.6 µs | ingest= 48.8 sim= 5.9 export= 3.9 diag= 0.0 µs | exported=284.37 MB acks=3501000
tick= 5000 | entities= 10000 (sensor_active= 4527, alerts= 24, act= 1000) | faults=453183 lockouts= 0 | rss= 0.0 MB | tick_mean= 105.8 µs | ingest= 48.9 sim= 5.9 export= 3.9 diag= 0.0 µs | exported=365.59 MB acks=4501000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 0.531 s
Sustained tick rate: 9424.5 Hz
Per-tick mean (wall): 10.6 µs
Per-system mean (µs):
IngestSystem: 48.8
SimulationSystem: 5.9
ExportSystem: 3.9
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 498016
Total actuator lockouts: 0
Export totals:
Bytes exported: 406.11 MB
Acks processed: 5000000
Alerts seen: 104943
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────
=== entities=25000 ===
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=25000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=17500 EventAsset=5000 ActuatorAsset=2500 total=25000
[warmup] running 500 ticks...
tick= 0 | entities= 25000 (sensor_active= 22049, alerts= 0, act= 2500) | faults= 451 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 67.0 sim= 19.0 export= 11.0 diag= 0.0 µs | exported=0.20 MB acks=2500
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 25000 (sensor_active= 11440, alerts= 49, act= 2500) | faults=231419 lockouts= 0 | rss= 0.0 MB | tick_mean= 274.4 µs | ingest= 125.7 sim= 15.0 export= 9.9 diag= 0.0 µs | exported=101.74 MB acks=1252500
tick= 2000 | entities= 25000 (sensor_active= 11301, alerts= 43, act= 2500) | faults=456552 lockouts= 0 | rss= 0.0 MB | tick_mean= 274.6 µs | ingest= 125.8 sim= 15.1 export= 9.9 diag= 0.0 µs | exported=304.78 MB acks=3752500
tick= 3000 | entities= 25000 (sensor_active= 11421, alerts= 58, act= 2500) | faults=681247 lockouts= 0 | rss= 0.0 MB | tick_mean= 276.1 µs | ingest= 126.4 sim= 15.1 export= 10.0 diag= 0.0 µs | exported=507.82 MB acks=6252500
tick= 4000 | entities= 25000 (sensor_active= 11157, alerts= 48, act= 2500) | faults=906865 lockouts= 0 | rss= 0.0 MB | tick_mean= 274.5 µs | ingest= 125.7 sim= 15.1 export= 9.9 diag= 0.0 µs | exported=710.88 MB acks=8752500
tick= 5000 | entities= 25000 (sensor_active= 11216, alerts= 49, act= 2500) | faults=1131163 lockouts= 0 | rss= 0.0 MB | tick_mean= 274.9 µs | ingest= 125.9 sim= 15.0 export= 9.9 diag= 0.0 µs | exported=913.91 MB acks=11252500
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 1.378 s
Sustained tick rate: 3629.5 Hz
Per-tick mean (wall): 27.5 µs
Per-system mean (µs):
IngestSystem: 125.6
SimulationSystem: 15.0
ExportSystem: 9.9
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 1243639
Total actuator lockouts: 0
Export totals:
Bytes exported: 1015.22 MB
Acks processed: 12500000
Alerts seen: 254654
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────
=== entities=50000 ===
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=50000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=35000 EventAsset=10000 ActuatorAsset=5000 total=50000
[warmup] running 500 ticks...
tick= 0 | entities= 50000 (sensor_active= 44082, alerts= 0, act= 5000) | faults= 918 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 104.0 sim= 34.0 export= 18.0 diag= 0.0 µs | exported=0.41 MB acks=5000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 50000 (sensor_active= 22364, alerts= 118, act= 5000) | faults=462345 lockouts= 0 | rss= 0.0 MB | tick_mean= 548.8 µs | ingest= 254.6 sim= 30.7 export= 20.0 diag= 0.0 µs | exported=203.46 MB acks=2505000
tick= 2000 | entities= 50000 (sensor_active= 22510, alerts= 97, act= 5000) | faults=912440 lockouts= 0 | rss= 0.0 MB | tick_mean= 546.7 µs | ingest= 253.0 sim= 30.3 export= 19.9 diag= 0.0 µs | exported=609.56 MB acks=7505000
tick= 3000 | entities= 50000 (sensor_active= 22512, alerts= 90, act= 5000) | faults=1361728 lockouts= 0 | rss= 0.0 MB | tick_mean= 549.3 µs | ingest= 254.3 sim= 30.6 export= 20.1 diag= 0.0 µs | exported=1015.66 MB acks=12505000
tick= 4000 | entities= 50000 (sensor_active= 22519, alerts= 98, act= 5000) | faults=1812084 lockouts= 0 | rss= 0.0 MB | tick_mean= 549.2 µs | ingest= 254.1 sim= 30.5 export= 20.0 diag= 0.0 µs | exported=1421.74 MB acks=17505000
tick= 5000 | entities= 50000 (sensor_active= 22355, alerts= 101, act= 5000) | faults=2261407 lockouts= 0 | rss= 0.0 MB | tick_mean= 545.8 µs | ingest= 252.6 sim= 30.4 export= 19.9 diag= 0.0 µs | exported=1827.82 MB acks=22505000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 2.743 s
Sustained tick rate: 1822.8 Hz
Per-tick mean (wall): 54.9 µs
Per-system mean (µs):
IngestSystem: 254.0
SimulationSystem: 30.5
ExportSystem: 19.9
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 2486121
Total actuator lockouts: 0
Export totals:
Bytes exported: 2030.46 MB
Acks processed: 25000000
Alerts seen: 511654
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────
=== entities=75000 ===
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=75000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=52500 EventAsset=15000 ActuatorAsset=7500 total=75000
[warmup] running 500 ticks...
tick= 0 | entities= 75000 (sensor_active= 66146, alerts= 0, act= 7500) | faults= 1354 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 188.0 sim= 62.0 export= 32.0 diag= 0.0 µs | exported=0.61 MB acks=7500
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 75000 (sensor_active= 33877, alerts= 133, act= 7500) | faults=693165 lockouts= 0 | rss= 0.0 MB | tick_mean= 818.6 µs | ingest= 378.8 sim= 45.8 export= 30.8 diag= 0.0 µs | exported=305.18 MB acks=3757500
tick= 2000 | entities= 75000 (sensor_active= 33696, alerts= 163, act= 7500) | faults=1367793 lockouts= 0 | rss= 0.0 MB | tick_mean= 817.4 µs | ingest= 377.4 sim= 45.7 export= 30.6 diag= 0.0 µs | exported=914.34 MB acks=11257500
tick= 3000 | entities= 75000 (sensor_active= 33889, alerts= 145, act= 7500) | faults=2042643 lockouts= 0 | rss= 0.0 MB | tick_mean= 817.6 µs | ingest= 377.7 sim= 45.8 export= 30.6 diag= 0.0 µs | exported=1523.51 MB acks=18757500
tick= 4000 | entities= 75000 (sensor_active= 33657, alerts= 169, act= 7500) | faults=2717674 lockouts= 0 | rss= 0.0 MB | tick_mean= 815.9 µs | ingest= 376.7 sim= 45.6 export= 30.5 diag= 0.0 µs | exported=2132.66 MB acks=26257500
tick= 5000 | entities= 75000 (sensor_active= 33573, alerts= 162, act= 7500) | faults=3393495 lockouts= 0 | rss= 0.0 MB | tick_mean= 820.1 µs | ingest= 377.7 sim= 45.7 export= 30.7 diag= 0.0 µs | exported=2741.78 MB acks=33757500
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 4.094 s
Sustained tick rate: 1221.3 Hz
Per-tick mean (wall): 82.0 µs
Per-system mean (µs):
IngestSystem: 377.6
SimulationSystem: 45.7
ExportSystem: 30.6
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 3730093
Total actuator lockouts: 0
Export totals:
Bytes exported: 3045.72 MB
Acks processed: 37500000
Alerts seen: 771425
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────
=== entities=100000 ===
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=100000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=70000 EventAsset=20000 ActuatorAsset=10000 total=100000
[warmup] running 500 ticks...
tick= 0 | entities= 100000 (sensor_active= 88228, alerts= 0, act=10000) | faults= 1772 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 202.0 sim= 75.0 export= 41.0 diag= 0.0 µs | exported=0.81 MB acks=10000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 100000 (sensor_active= 45396, alerts= 218, act=10000) | faults=924085 lockouts= 0 | rss= 0.0 MB | tick_mean= 1101.8 µs | ingest= 500.9 sim= 61.2 export= 40.6 diag= 0.0 µs | exported=406.92 MB acks=5010000
tick= 2000 | entities= 100000 (sensor_active= 44998, alerts= 212, act=10000) | faults=1823730 lockouts= 0 | rss= 0.0 MB | tick_mean= 1105.1 µs | ingest= 501.0 sim= 61.1 export= 40.6 diag= 0.0 µs | exported=1219.14 MB acks=15010000
tick= 3000 | entities= 100000 (sensor_active= 45132, alerts= 187, act=10000) | faults=2723608 lockouts= 0 | rss= 0.0 MB | tick_mean= 1114.2 µs | ingest= 504.7 sim= 61.5 export= 40.8 diag= 0.0 µs | exported=2031.31 MB acks=25010000
tick= 4000 | entities= 100000 (sensor_active= 45039, alerts= 226, act=10000) | faults=3624295 lockouts= 0 | rss= 0.0 MB | tick_mean= 1112.0 µs | ingest= 505.0 sim= 61.7 export= 40.9 diag= 0.0 µs | exported=2843.48 MB acks=35010000
tick= 5000 | entities= 100000 (sensor_active= 45069, alerts= 206, act=10000) | faults=4525217 lockouts= 0 | rss= 0.0 MB | tick_mean= 1112.9 µs | ingest= 504.7 sim= 61.8 export= 40.9 diag= 0.0 µs | exported=3655.68 MB acks=45010000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 5.555 s
Sustained tick rate: 900.2 Hz
Per-tick mean (wall): 111.2 µs
Per-system mean (µs):
IngestSystem: 504.2
SimulationSystem: 61.8
ExportSystem: 41.0
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 4974449
Total actuator lockouts: 0
Export totals:
Bytes exported: 4060.96 MB
Acks processed: 50000000
Alerts seen: 1028407
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────
=== entities=150000 ===
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=150000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=105000 EventAsset=30000 ActuatorAsset=15000 total=150000
[warmup] running 500 ticks...
tick= 0 | entities= 150000 (sensor_active=132379, alerts= 0, act=15000) | faults= 2621 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 306.0 sim= 113.0 export= 61.0 diag= 0.0 µs | exported=1.22 MB acks=15000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 150000 (sensor_active= 67721, alerts= 326, act=15000) | faults=1385323 lockouts= 0 | rss= 0.0 MB | tick_mean= 1717.3 µs | ingest= 755.7 sim= 92.9 export= 61.8 diag= 0.0 µs | exported=610.34 MB acks=7515000
tick= 2000 | entities= 150000 (sensor_active= 67238, alerts= 278, act=15000) | faults=2736064 lockouts= 0 | rss= 0.0 MB | tick_mean= 1721.7 µs | ingest= 755.2 sim= 93.0 export= 61.8 diag= 0.0 µs | exported=1828.59 MB acks=22515000
tick= 3000 | entities= 150000 (sensor_active= 67728, alerts= 330, act=15000) | faults=4087020 lockouts= 0 | rss= 0.0 MB | tick_mean= 1719.6 µs | ingest= 753.9 sim= 93.0 export= 61.5 diag= 0.0 µs | exported=3046.89 MB acks=37515000
tick= 4000 | entities= 150000 (sensor_active= 67533, alerts= 323, act=15000) | faults=5437256 lockouts= 0 | rss= 0.0 MB | tick_mean= 1715.2 µs | ingest= 753.4 sim= 92.6 export= 61.5 diag= 0.0 µs | exported=4265.19 MB acks=52515000
tick= 5000 | entities= 150000 (sensor_active= 67700, alerts= 334, act=15000) | faults=6786973 lockouts= 0 | rss= 0.0 MB | tick_mean= 1726.7 µs | ingest= 755.2 sim= 93.0 export= 61.8 diag= 0.0 µs | exported=5483.51 MB acks=67515000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 8.604 s
Sustained tick rate: 581.1 Hz
Per-tick mean (wall): 171.6 µs
Per-system mean (µs):
IngestSystem: 754.2
SimulationSystem: 92.5
ExportSystem: 61.7
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 7460636
Total actuator lockouts: 0
Export totals:
Bytes exported: 6091.45 MB
Acks processed: 75000000
Alerts seen: 1543036
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────
=== entities=200000 ===
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=200000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=140000 EventAsset=40000 ActuatorAsset=20000 total=200000
[warmup] running 500 ticks...
tick= 0 | entities= 200000 (sensor_active=176493, alerts= 0, act=20000) | faults= 3507 lockouts= 0 | rss= 0.0 MB | tick_mean= 0.0 µs | ingest= 415.0 sim= 160.0 export= 84.0 diag= 0.0 µs | exported=1.62 MB acks=20000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 200000 (sensor_active= 90145, alerts= 390, act=20000) | faults=1847083 lockouts= 0 | rss= 0.0 MB | tick_mean= 2413.0 µs | ingest=1003.2 sim= 125.4 export= 83.3 diag= 0.0 µs | exported=813.81 MB acks=10020000
tick= 2000 | entities= 200000 (sensor_active= 90392, alerts= 385, act=20000) | faults=3647521 lockouts= 0 | rss= 0.0 MB | tick_mean= 2409.9 µs | ingest=1003.2 sim= 125.4 export= 83.1 diag= 0.0 µs | exported=2438.20 MB acks=30020000
tick= 3000 | entities= 200000 (sensor_active= 90372, alerts= 391, act=20000) | faults=5447700 lockouts= 0 | rss= 0.0 MB | tick_mean= 2380.4 µs | ingest= 998.3 sim= 124.5 export= 82.8 diag= 0.0 µs | exported=4062.57 MB acks=50020000
tick= 4000 | entities= 200000 (sensor_active= 89452, alerts= 451, act=20000) | faults=7247668 lockouts= 0 | rss= 0.0 MB | tick_mean= 2380.1 µs | ingest= 998.7 sim= 124.7 export= 82.5 diag= 0.0 µs | exported=5686.95 MB acks=70020000
tick= 5000 | entities= 200000 (sensor_active= 89914, alerts= 424, act=20000) | faults=9047286 lockouts= 0 | rss= 0.0 MB | tick_mean= 2386.7 µs | ingest= 999.0 sim= 124.7 export= 82.8 diag= 0.0 µs | exported=7311.35 MB acks=90020000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 11.966 s
Sustained tick rate: 417.9 Hz
Per-tick mean (wall): 239.4 µs
Per-system mean (µs):
IngestSystem: 1001.3
SimulationSystem: 125.2
ExportSystem: 83.1
DiagnosticsSystem: 0.0
Fault injection:
Total sensor faults: 9946420
Total actuator lockouts: 0
Export totals:
Bytes exported: 8121.92 MB
Acks processed: 100000000
Alerts seen: 2056796
Memory (RSS at end): 0.0 MB
────────────────────────────────────────────────────────

10
results/sysinfo.txt Normal file
View File

@@ -0,0 +1,10 @@
=== System Information ===
Date: 2026-04-20 21:17:09 UTC
OS: Darwin 25.4.0
Arch: arm64
Target CPU: apple-m1
Rust: rustc 1.94.0 (4a4ef493e 2026-03-02)
Cargo: cargo 1.94.0 (85eff7c80 2026-01-15)
Apple M4 Max
Memory: 128.0 GB