Stress Hierarchy Heavy
Deterministic synthetic case (seed 3002) with 1000 CityObjects across two hierarchy levels (Building parents + BuildingPart children, 2-4 children per parent). Each object has minimal MultiPoint geometry with semantic surfaces. No attributes, materials, or textures. Targets parent-child graph traversal and semantic surface resolution. Hardware load: CPU (pointer chasing), cache misses from scattered object references. Architecture bottleneck: children/parents reference resolution. Data model bottleneck: two-level object graph with semantic mapping on minimal geometry.
Case
id:stress_hierarchy_heavylayer:workloadfamily:stressartifact_mode:generatedsource_kind:syntheticrepresentation:cityjsonpath:cases/workloads/stress_hierarchy_heavy
Files
generated:artifacts/generated/stress_hierarchy_heavy.city.jsonprofile:cases/workloads/stress_hierarchy_heavy/profile.json
Source JSON
case.json
{
"artifact_mode": "generated",
"artifact_paths": {
"generated": "artifacts/generated/stress_hierarchy_heavy.city.json",
"profile": "cases/workloads/stress_hierarchy_heavy/profile.json"
},
"assertions": [
"hierarchy_preserved",
"bottleneck_shape_visible"
],
"cityjson_version": "2.0",
"description": "Deterministic synthetic case (seed 3002) with 1000 CityObjects across two hierarchy levels (Building parents + BuildingPart children, 2-4 children per parent). Each object has minimal MultiPoint geometry with semantic surfaces. No attributes, materials, or textures. Targets parent-child graph traversal and semantic surface resolution. Hardware load: CPU (pointer chasing), cache misses from scattered object references. Architecture bottleneck: children/parents reference resolution. Data model bottleneck: two-level object graph with semantic mapping on minimal geometry.",
"family": "stress",
"geometry_kind": "dummy",
"id": "stress_hierarchy_heavy",
"layer": "workload",
"representation": "cityjson",
"source_kind": "synthetic",
"version": 2
}
invariants.json
{
"checks": [
{
"description": "Parent-child relationships across both hierarchy levels are preserved after encode/decode.",
"id": "hierarchy_preserved"
},
{
"description": "The case exposes the intended hierarchy traversal shape (1000 objects across two levels with semantic surfaces).",
"id": "bottleneck_shape_visible"
}
],
"id": "stress_hierarchy_heavy",
"kind": "positive",
"version": 1
}
profile.json
{
"cases": [
{
"allowed_lods": [
"2"
],
"allowed_types_cityobject": [
"Building",
"BuildingPart"
],
"allowed_types_geometry": [
"MultiPoint"
],
"attributes_enabled": false,
"cityobject_hierarchy": true,
"description": "1000 CityObjects across two hierarchy levels (Building parents + BuildingPart children, 2-4 children per parent). Minimal MultiPoint geometry with semantics on each object. No materials, textures, or attributes.",
"id": "stress_hierarchy_heavy",
"materials_enabled": false,
"max_children": 4,
"max_cityobjects": 1000,
"max_members_cityobject_geometries": 1,
"max_members_multipoint": 2,
"min_children": 2,
"min_cityobjects": 1000,
"min_members_cityobject_geometries": 1,
"min_members_multipoint": 1,
"seed": 3002,
"semantics_enabled": true,
"textures_enabled": false
}
],
"purpose": "Stress fixture for parent-child CityObject graph traversal and semantic surface resolution.",
"version": 1
}