Stress Attribute Heavy Homogenous
Deterministic synthetic case (seed 3007) with 1000 Building objects, 60 flat homogenous-type attributes per object, and a single-surface MultiSurface geometry at LoD 2. No semantics, materials, or textures. Each attribute key has a fixed scalar type (bool, integer, unsigned, float, or string) consistent across all CityObjects; each value has a 1-in-7 chance of being null. Targets attribute map allocation, key string interning, and parse/serialize throughput with schema-stable type pressure. Hardware load: CPU (JSON key hashing), RAM (60k attribute key-value pairs). Architecture bottleneck: hash map resize and key interning. Data model bottleneck: flat attribute record size at 60 keys per object with nullable scalars.
Case
id:stress_attribute_heavy_homogenouslayer:workloadfamily:stressartifact_mode:generatedsource_kind:syntheticrepresentation:cityjsonpath:cases/workloads/stress_attribute_heavy_homogenous
Files
generated:artifacts/generated/stress_attribute_heavy_homogenous.city.jsonprofile:cases/workloads/stress_attribute_heavy_homogenous/profile.json
Source JSON
case.json
{
"artifact_mode": "generated",
"artifact_paths": {
"generated": "artifacts/generated/stress_attribute_heavy_homogenous.city.json",
"profile": "cases/workloads/stress_attribute_heavy_homogenous/profile.json"
},
"assertions": [
"attributes_preserved",
"attribute_types_consistent_per_key",
"bottleneck_shape_visible"
],
"cityjson_version": "2.0",
"description": "Deterministic synthetic case (seed 3007) with 1000 Building objects, 60 flat homogenous-type attributes per object, and a single-surface MultiSurface geometry at LoD 2. No semantics, materials, or textures. Each attribute key has a fixed scalar type (bool, integer, unsigned, float, or string) consistent across all CityObjects; each value has a 1-in-7 chance of being null. Targets attribute map allocation, key string interning, and parse/serialize throughput with schema-stable type pressure. Hardware load: CPU (JSON key hashing), RAM (60k attribute key-value pairs). Architecture bottleneck: hash map resize and key interning. Data model bottleneck: flat attribute record size at 60 keys per object with nullable scalars.",
"family": "stress",
"geometry_kind": "dummy",
"id": "stress_attribute_heavy_homogenous",
"layer": "workload",
"representation": "cityjson",
"source_kind": "synthetic",
"version": 2
}
invariants.json
{
"checks": [
{
"description": "All 60 attributes per CityObject survive encode/decode without loss. Null values and designated scalar types are preserved.",
"id": "attributes_preserved"
},
{
"description": "Each attribute key has a consistent scalar type across all CityObjects (homogenous mode invariant).",
"id": "attribute_types_consistent_per_key"
},
{
"description": "The case exposes the intended attribute allocation shape (60k key-value pairs across 1000 objects).",
"id": "bottleneck_shape_visible"
}
],
"id": "stress_attribute_heavy_homogenous",
"kind": "positive",
"version": 1
}
profile.json
{
"cases": [
{
"allowed_lods": [
"2"
],
"allowed_types_cityobject": [
"Building"
],
"allowed_types_geometry": [
"MultiSurface"
],
"attributes_allow_null": true,
"attributes_enabled": true,
"attributes_max_depth": 1,
"attributes_random_keys": true,
"attributes_value_mode": "homogenous",
"description": "60 flat homogenous-type attributes per Building across 1000 objects. Each attribute key has a fixed scalar type (bool, integer, unsigned, float, or string) consistent across all CityObjects; each value has a 1-in-7 chance of being null. Minimal single-surface geometry. No semantics, materials, or textures.",
"id": "stress_attribute_heavy_homogenous",
"materials_enabled": false,
"max_attributes": 60,
"max_cityobjects": 1000,
"max_members_cityobject_geometries": 1,
"max_members_multisurface": 1,
"min_attributes": 60,
"min_cityobjects": 1000,
"min_members_cityobject_geometries": 1,
"min_members_multisurface": 1,
"seed": 3007,
"semantics_enabled": false,
"textures_enabled": false
}
],
"purpose": "Stress fixture for attribute map allocation and parse/serialize throughput with homogenous value types.",
"version": 1
}