Skip to content

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_heavy
  • layer: workload
  • family: stress
  • artifact_mode: generated
  • source_kind: synthetic
  • representation: cityjson
  • path: cases/workloads/stress_hierarchy_heavy

Files

  • generated: artifacts/generated/stress_hierarchy_heavy.city.json
  • profile: 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
}