Skip to content

Stress Boundary Heavy

Deterministic synthetic case (seed 3004) with 1000 Building objects each carrying one CompositeSolid geometry with 4-6 solid members and 4-6 shells per solid. No attributes, semantics, materials, or textures. Targets deep boundary recursion and stack/heap pressure. Hardware load: CPU (recursive traversal), stack depth pressure, heap for shell arrays. Architecture bottleneck: CompositeSolid -> Solid -> Shell -> Ring traversal. Data model bottleneck: nested boundary reference chains at each containment level.

Case

  • id: stress_boundary_heavy
  • layer: workload
  • family: stress
  • artifact_mode: generated
  • source_kind: synthetic
  • representation: cityjson
  • path: cases/workloads/stress_boundary_heavy

Files

  • generated: artifacts/generated/stress_boundary_heavy.city.json
  • profile: cases/workloads/stress_boundary_heavy/profile.json

Source JSON

case.json

{
  "artifact_mode": "generated",
  "artifact_paths": {
    "generated": "artifacts/generated/stress_boundary_heavy.city.json",
    "profile": "cases/workloads/stress_boundary_heavy/profile.json"
  },
  "assertions": [
    "boundary_nesting_preserved",
    "bottleneck_shape_visible"
  ],
  "cityjson_version": "2.0",
  "description": "Deterministic synthetic case (seed 3004) with 1000 Building objects each carrying one CompositeSolid geometry with 4-6 solid members and 4-6 shells per solid. No attributes, semantics, materials, or textures. Targets deep boundary recursion and stack/heap pressure. Hardware load: CPU (recursive traversal), stack depth pressure, heap for shell arrays. Architecture bottleneck: CompositeSolid -> Solid -> Shell -> Ring traversal. Data model bottleneck: nested boundary reference chains at each containment level.",
  "family": "stress",
  "geometry_kind": "dummy",
  "id": "stress_boundary_heavy",
  "layer": "workload",
  "representation": "cityjson",
  "source_kind": "synthetic",
  "version": 2
}

invariants.json

{
  "checks": [
    {
      "description": "CompositeSolid boundary nesting (solid members and shells) is preserved after encode/decode.",
      "id": "boundary_nesting_preserved"
    },
    {
      "description": "The case exposes the intended deep boundary shape (4-6 solid members each with 4-6 shells per 1000 objects).",
      "id": "bottleneck_shape_visible"
    }
  ],
  "id": "stress_boundary_heavy",
  "kind": "positive",
  "version": 1
}

profile.json

{
  "cases": [
    {
      "allowed_lods": [
        "2"
      ],
      "allowed_types_cityobject": [
        "Building"
      ],
      "allowed_types_geometry": [
        "CompositeSolid"
      ],
      "attributes_enabled": false,
      "description": "1000 Building objects each with one CompositeSolid geometry (4-6 solid members, each with 4-6 shells). No attributes, semantics, materials, or textures.",
      "id": "stress_boundary_heavy",
      "materials_enabled": false,
      "max_cityobjects": 1000,
      "max_members_cityobject_geometries": 1,
      "max_members_compositesolid": 6,
      "max_members_solid": 6,
      "min_cityobjects": 1000,
      "min_members_cityobject_geometries": 1,
      "min_members_compositesolid": 4,
      "min_members_solid": 4,
      "seed": 3004,
      "semantics_enabled": false,
      "textures_enabled": false
    }
  ],
  "purpose": "Stress fixture for deep boundary recursion and stack or heap pressure from nested solid geometry.",
  "version": 1
}