Skip to content

Stress Geometry Heavy

Deterministic synthetic case (seed 3003) with 1000 Building objects each carrying 4 MultiSurface geometries at LoDs 0-3 (4000 geometry records total). No attributes, semantics, materials, or textures. Targets multi-LoD geometry dispatch and geometry array allocation. Hardware load: CPU (geometry type dispatch per LoD), memory for 4x geometry arrays per object. Architecture bottleneck: LoD index maintenance and geometry iteration. Data model bottleneck: 4 geometry structs per CityObject.

Case

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

Files

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

Source JSON

case.json

{
  "artifact_mode": "generated",
  "artifact_paths": {
    "generated": "artifacts/generated/stress_geometry_heavy.city.json",
    "profile": "cases/workloads/stress_geometry_heavy/profile.json"
  },
  "assertions": [
    "all_geometries_preserved",
    "bottleneck_shape_visible"
  ],
  "cityjson_version": "2.0",
  "description": "Deterministic synthetic case (seed 3003) with 1000 Building objects each carrying 4 MultiSurface geometries at LoDs 0-3 (4000 geometry records total). No attributes, semantics, materials, or textures. Targets multi-LoD geometry dispatch and geometry array allocation. Hardware load: CPU (geometry type dispatch per LoD), memory for 4x geometry arrays per object. Architecture bottleneck: LoD index maintenance and geometry iteration. Data model bottleneck: 4 geometry structs per CityObject.",
  "family": "stress",
  "geometry_kind": "dummy",
  "id": "stress_geometry_heavy",
  "layer": "workload",
  "representation": "cityjson",
  "source_kind": "synthetic",
  "version": 2
}

invariants.json

{
  "checks": [
    {
      "description": "All 4 geometries per CityObject at distinct LoDs are preserved after encode/decode.",
      "id": "all_geometries_preserved"
    },
    {
      "description": "The case exposes the intended multi-geometry allocation shape (4000 geometry records across 1000 objects).",
      "id": "bottleneck_shape_visible"
    }
  ],
  "id": "stress_geometry_heavy",
  "kind": "positive",
  "version": 1
}

profile.json

{
  "cases": [
    {
      "allowed_lods": [
        "0",
        "1",
        "2",
        "3"
      ],
      "allowed_types_cityobject": [
        "Building"
      ],
      "allowed_types_geometry": [
        "MultiSurface"
      ],
      "attributes_enabled": false,
      "description": "1000 Building objects each with 4 MultiSurface geometries at LoDs 0-3. No attributes, semantics, materials, or textures.",
      "id": "stress_geometry_heavy",
      "materials_enabled": false,
      "max_cityobjects": 1000,
      "max_members_cityobject_geometries": 4,
      "max_members_multisurface": 2,
      "min_cityobjects": 1000,
      "min_members_cityobject_geometries": 4,
      "min_members_multisurface": 1,
      "seed": 3003,
      "semantics_enabled": false,
      "textures_enabled": false
    }
  ],
  "purpose": "Stress fixture for multi-LoD geometry dispatch and geometry array allocation.",
  "version": 1
}