{
"schema_version": 1,
"description": "Runtime and memory budgets for the rvt-rs performance gate. Wall-clock thresholds are intentionally broad enough for shared CI runners; local benchmark documentation carries tighter reference numbers.",
"helper_example": "perf_budget_op",
"operations": [
"open",
"summarize",
"schema_parse",
"element_decode",
"ifc_export",
"viewer_parse_render"
],
"categories": {
"small": {
"description": "Under 1 MiB. Reference: phi-ag/rvt racbasicsamplefamily-2024.rfa.",
"env": "RVT_PERF_SMALL_FILE",
"iterations": 3,
"default_paths": [
"../../samples/_phiag/examples/Autodesk/racbasicsamplefamily-2024.rfa",
"../../samples/racbasicsamplefamily-2024.rfa",
"_corpus/examples/Autodesk/racbasicsamplefamily-2024.rfa"
],
"budgets": {
"open": { "max_ms": 250.0, "max_rss_mb": 192.0 },
"summarize": { "max_ms": 750.0, "max_rss_mb": 256.0 },
"schema_parse": { "max_ms": 350.0, "max_rss_mb": 256.0 },
"element_decode": { "max_ms": 2500.0, "max_rss_mb": 384.0 },
"ifc_export": { "max_ms": 3500.0, "max_rss_mb": 384.0 },
"viewer_parse_render": { "max_ms": 4000.0, "max_rss_mb": 384.0 }
}
},
"medium": {
"description": "1-50 MiB. Reference: magnetar-io/revit-test-datasets 2024_Core_Interior.rvt.",
"env": "RVT_PERF_MEDIUM_FILE",
"iterations": 2,
"default_paths": [
"/private/tmp/rvt-corpus-probe/magnetar/Revit/2024_Core_Interior.rvt",
"_project_corpus/Revit/2024_Core_Interior.rvt"
],
"budgets": {
"open": { "max_ms": 1500.0, "max_rss_mb": 512.0 },
"summarize": { "max_ms": 5000.0, "max_rss_mb": 768.0 },
"schema_parse": { "max_ms": 1500.0, "max_rss_mb": 768.0 },
"element_decode": { "max_ms": 12000.0, "max_rss_mb": 1024.0 },
"ifc_export": { "max_ms": 15000.0, "max_rss_mb": 1024.0 },
"viewer_parse_render": { "max_ms": 18000.0, "max_rss_mb": 1024.0 }
}
},
"large": {
"description": "50 MiB and up. Provide RVT_PERF_LARGE_FILE when a redistributable large fixture is available.",
"env": "RVT_PERF_LARGE_FILE",
"iterations": 1,
"default_paths": [],
"budgets": {
"open": { "max_ms": 5000.0, "max_rss_mb": 1536.0 },
"summarize": { "max_ms": 18000.0, "max_rss_mb": 2048.0 },
"schema_parse": { "max_ms": 4000.0, "max_rss_mb": 2048.0 },
"element_decode": { "max_ms": 35000.0, "max_rss_mb": 3072.0 },
"ifc_export": { "max_ms": 45000.0, "max_rss_mb": 3072.0 },
"viewer_parse_render": { "max_ms": 50000.0, "max_rss_mb": 3072.0 }
}
}
}
}