{
  "schema_version": 2,
  "generated_at": "2026-10-14T08:44:03Z",
  "repo_root": "/home/runner/work/ghostscope/ghostscope",
  "corpus_dir": "/home/runner/work/ghostscope/ghostscope/scripts/dwarf-perf/corpus/out",
  "manifest_path": "/home/runner/work/ghostscope/ghostscope/scripts/dwarf-perf/corpus/out/manifest.json",
  "result_path": "/home/runner/work/ghostscope/ghostscope/.tmp/dwarf-perf-results/main.json",
  "parse_benchmark": {
    "description": "Fast parse benchmark: analyzer load plus initial DWARF fast-parse/index build.",
    "artifact_name": "parse-stress",
    "binary": "/home/runner/work/ghostscope/ghostscope/scripts/dwarf-perf/corpus/out/parse-stress/parse_stress",
    "runs": 10,
    "metrics_ms": {
      "average": 93.804,
      "p50": 93.286,
      "p95": 97.096,
      "min": 91.909,
      "max": 97.096
    },
    "internal_metrics_ms": {
      "module_count": 1,
      "parse_phase": {
        "average": 80.2,
        "p50": 80.0,
        "p95": 82.0,
        "min": 79.0,
        "max": 82.0
      },
      "index_phase": {
        "average": 12.6,
        "p50": 12.0,
        "p95": 14.0,
        "min": 12.0,
        "max": 14.0
      },
      "internal_total": {
        "average": 93.2,
        "p50": 93.0,
        "p95": 97.0,
        "min": 91.0,
        "max": 97.0
      }
    }
  },
  "query_benchmark": {
    "description": "End-to-end source-line query benchmark: source-line lookup, address resolution, and variable collection for all matched addresses.",
    "binary": "/home/runner/work/ghostscope/ghostscope/scripts/dwarf-perf/corpus/out/query-hotspot/query_hotspot",
    "source": {
      "path": "/home/runner/work/ghostscope/ghostscope/scripts/dwarf-perf/corpus/src/query-hotspot/query_hotspot.c",
      "line": 119
    },
    "loading_time_ms": 2,
    "warmup_runs": 10,
    "runs": 10,
    "metrics_ms": {
      "first_run": 0.7595879999999999,
      "average": 0.7331644,
      "p50": 0.733769,
      "p95": 0.7595879999999999,
      "min": 0.7030219999999999,
      "max": 0.7595879999999999
    }
  },
  "query_result": {
    "description": "Snapshot of the matched query result for the benchmarked source line.",
    "source": {
      "path": "/home/runner/work/ghostscope/ghostscope/scripts/dwarf-perf/corpus/src/query-hotspot/query_hotspot.c",
      "line": 119
    },
    "first_address": "0x40164f",
    "address_count": 1,
    "total_variables": 16
  },
  "corpus_manifest": {
    "schema_version": 1,
    "builder_image": "ghcr.io/swananan/ghostscope-dwarf-perf-builder@sha256:ed99b20a96a4fb2abc4845ca55e7e3780e97752d3281da441b8aa335b56b9ecb",
    "compiler": {
      "cc": "gcc",
      "cxx": "g++",
      "rustc": "rustc",
      "dwarf_version": 5
    },
    "artifacts": [
      {
        "name": "query-hotspot",
        "kind": "single-address-query",
        "relative_path": "query-hotspot/query_hotspot",
        "sha256": "cb837cf400627c5dec8702e46246ae4cb7a6362f548993ae5726ef2c79087b83",
        "size_bytes": 49264,
        "source_path": "scripts/dwarf-perf/corpus/src/query-hotspot/query_hotspot.c",
        "query_anchor": {
          "function": "dwarf_perf_query_hotspot",
          "source_marker": "DWARF_PERF_QUERY_HOTSPOT",
          "source_line": 119
        }
      },
      {
        "name": "parse-stress",
        "kind": "fast-parse",
        "relative_path": "parse-stress/parse_stress",
        "sha256": "c280ebe972e59f480d298ed56ceb03c6b62013ab88ee8a8c1b3a8b905157d1b2",
        "size_bytes": 6753512,
        "generator": {
          "script": "scripts/dwarf-perf/generate_parse_stress.py",
          "preset": "large",
          "units": 48,
          "types_per_unit": 24,
          "functions_per_unit": 72,
          "history_len": 16,
          "generated_c_files": 49,
          "generated_header_files": 50
        }
      },
      {
        "name": "gnu-pubnames-stress",
        "kind": "fast-parse",
        "language": "c",
        "index": "gnu-pubnames",
        "relative_path": "gnu-pubnames-stress/gnu_pubnames_stress",
        "sha256": "71150c5d2925aaf7e7cafb554d3b8bb0df0530724bcfa8b7ba6316c470999059",
        "size_bytes": 7074768,
        "generator": {
          "script": "scripts/dwarf-perf/generate_parse_stress.py",
          "preset": "large",
          "units": 48,
          "types_per_unit": 24,
          "functions_per_unit": 72,
          "history_len": 16,
          "generated_c_files": 49,
          "generated_header_files": 50
        }
      },
      {
        "name": "rust-parse-stress",
        "kind": "fast-parse",
        "language": "rust",
        "relative_path": "rust-parse-stress/rust_parse_stress",
        "sha256": "bd4f1215e319fcb7b4f146b4c166dc018b473078247714ec240e24a200edfce6",
        "size_bytes": 62087352,
        "generator": {
          "script": "scripts/dwarf-perf/generate_rust_parse_stress.py",
          "preset": "large",
          "modules": 64,
          "types_per_module": 24,
          "functions_per_module": 96,
          "generated_module_files": 64,
          "generated_rust_files": 66
        }
      },
      {
        "name": "cpp-template-stress",
        "kind": "fast-parse",
        "language": "cpp",
        "relative_path": "cpp-template-stress/cpp_template_stress",
        "sha256": "8640e100f451f0022bf4ef60590e88a2e1d845dda8a6b8db52a53d6023e4abdb",
        "size_bytes": 103053984,
        "generator": {
          "script": "scripts/dwarf-perf/generate_cpp_template_stress.py",
          "preset": "large",
          "units": 16,
          "families_per_unit": 16,
          "instantiations_per_family": 48,
          "methods_per_family": 4,
          "estimated_mangled_symbols": 61440,
          "generated_cpp_files": 17
        }
      },
      {
        "name": "rust-generic-stress",
        "kind": "fast-parse",
        "language": "rust",
        "relative_path": "rust-generic-stress/rust_generic_stress",
        "sha256": "50f4913c367ae843d38c4f498892dfed549088b8dfd25c151bbbc336808e3e6f",
        "size_bytes": 36657464,
        "generator": {
          "script": "scripts/dwarf-perf/generate_rust_generic_stress.py",
          "preset": "large",
          "modules": 16,
          "families_per_module": 16,
          "monomorphs_per_family": 28,
          "estimated_mangled_symbols": 28672,
          "generated_module_files": 16,
          "generated_rust_files": 18
        }
      },
      {
        "name": "cpp-deep-namespace",
        "kind": "fast-parse",
        "language": "cpp",
        "relative_path": "cpp-deep-namespace/cpp_deep_namespace",
        "sha256": "a9a48c311cd4eda29c67f75c718c0e7b1b493d2ca20f5561f4710716585d55ac",
        "size_bytes": 3302632,
        "generator": {
          "script": "scripts/dwarf-perf/generate_cpp_deep_namespace.py",
          "preset": "large",
          "units": 16,
          "namespace_depth": 8,
          "branches_per_unit": 16,
          "functions_per_branch": 24,
          "estimated_mangled_symbols": 18432,
          "generated_cpp_files": 17
        }
      }
    ]
  },
  "primary_parse_target": "parse-stress",
  "parse_targets": {
    "parse-stress": {
      "description": "Fast parse benchmark: analyzer load plus initial DWARF fast-parse/index build.",
      "artifact_name": "parse-stress",
      "binary": "/home/runner/work/ghostscope/ghostscope/scripts/dwarf-perf/corpus/out/parse-stress/parse_stress",
      "runs": 10,
      "metrics_ms": {
        "average": 93.804,
        "p50": 93.286,
        "p95": 97.096,
        "min": 91.909,
        "max": 97.096
      },
      "internal_metrics_ms": {
        "module_count": 1,
        "parse_phase": {
          "average": 80.2,
          "p50": 80.0,
          "p95": 82.0,
          "min": 79.0,
          "max": 82.0
        },
        "index_phase": {
          "average": 12.6,
          "p50": 12.0,
          "p95": 14.0,
          "min": 12.0,
          "max": 14.0
        },
        "internal_total": {
          "average": 93.2,
          "p50": 93.0,
          "p95": 97.0,
          "min": 91.0,
          "max": 97.0
        }
      }
    },
    "gnu-pubnames-stress": {
      "description": "Fast parse benchmark: analyzer load plus initial DWARF fast-parse/index build.",
      "artifact_name": "gnu-pubnames-stress",
      "binary": "/home/runner/work/ghostscope/ghostscope/scripts/dwarf-perf/corpus/out/gnu-pubnames-stress/gnu_pubnames_stress",
      "runs": 10,
      "metrics_ms": {
        "average": 33.606,
        "p50": 33.999,
        "p95": 35.473,
        "min": 32.041,
        "max": 35.473
      },
      "internal_metrics_ms": {
        "module_count": 1,
        "parse_phase": {
          "average": 26.5,
          "p50": 27.0,
          "p95": 28.0,
          "min": 25.0,
          "max": 28.0
        },
        "index_phase": {
          "average": 6.0,
          "p50": 6.0,
          "p95": 6.0,
          "min": 6.0,
          "max": 6.0
        },
        "internal_total": {
          "average": 33.2,
          "p50": 33.0,
          "p95": 35.0,
          "min": 32.0,
          "max": 35.0
        }
      }
    },
    "rust-parse-stress": {
      "description": "Fast parse benchmark: analyzer load plus initial DWARF fast-parse/index build.",
      "artifact_name": "rust-parse-stress",
      "binary": "/home/runner/work/ghostscope/ghostscope/scripts/dwarf-perf/corpus/out/rust-parse-stress/rust_parse_stress",
      "runs": 10,
      "metrics_ms": {
        "average": 8441.458,
        "p50": 8441.526,
        "p95": 8603.512,
        "min": 8337.762,
        "max": 8603.512
      },
      "internal_metrics_ms": {
        "module_count": 1,
        "parse_phase": {
          "average": 8236.9,
          "p50": 8240.0,
          "p95": 8399.0,
          "min": 8135.0,
          "max": 8399.0
        },
        "index_phase": {
          "average": 203.6,
          "p50": 201.0,
          "p95": 220.0,
          "min": 200.0,
          "max": 220.0
        },
        "internal_total": {
          "average": 8440.9,
          "p50": 8441.0,
          "p95": 8603.0,
          "min": 8337.0,
          "max": 8603.0
        }
      }
    },
    "cpp-template-stress": {
      "description": "Fast parse benchmark: analyzer load plus initial DWARF fast-parse/index build.",
      "artifact_name": "cpp-template-stress",
      "binary": "/home/runner/work/ghostscope/ghostscope/scripts/dwarf-perf/corpus/out/cpp-template-stress/cpp_template_stress",
      "runs": 10,
      "metrics_ms": {
        "average": 4794.259,
        "p50": 4774.686,
        "p95": 4935.648,
        "min": 4756.617,
        "max": 4935.648
      },
      "internal_metrics_ms": {
        "module_count": 1,
        "parse_phase": {
          "average": 4055.8,
          "p50": 4041.0,
          "p95": 4157.0,
          "min": 4028.0,
          "max": 4157.0
        },
        "index_phase": {
          "average": 737.4,
          "p50": 731.0,
          "p95": 777.0,
          "min": 725.0,
          "max": 777.0
        },
        "internal_total": {
          "average": 4793.7,
          "p50": 4774.0,
          "p95": 4935.0,
          "min": 4756.0,
          "max": 4935.0
        }
      }
    },
    "rust-generic-stress": {
      "description": "Fast parse benchmark: analyzer load plus initial DWARF fast-parse/index build.",
      "artifact_name": "rust-generic-stress",
      "binary": "/home/runner/work/ghostscope/ghostscope/scripts/dwarf-perf/corpus/out/rust-generic-stress/rust_generic_stress",
      "runs": 10,
      "metrics_ms": {
        "average": 3757.351,
        "p50": 3755.007,
        "p95": 3846.243,
        "min": 3612.611,
        "max": 3846.243
      },
      "internal_metrics_ms": {
        "module_count": 1,
        "parse_phase": {
          "average": 3554.7,
          "p50": 3554.0,
          "p95": 3642.0,
          "min": 3411.0,
          "max": 3642.0
        },
        "index_phase": {
          "average": 201.8,
          "p50": 201.0,
          "p95": 210.0,
          "min": 199.0,
          "max": 210.0
        },
        "internal_total": {
          "average": 3756.6,
          "p50": 3754.0,
          "p95": 3846.0,
          "min": 3612.0,
          "max": 3846.0
        }
      }
    },
    "cpp-deep-namespace": {
      "description": "Fast parse benchmark: analyzer load plus initial DWARF fast-parse/index build.",
      "artifact_name": "cpp-deep-namespace",
      "binary": "/home/runner/work/ghostscope/ghostscope/scripts/dwarf-perf/corpus/out/cpp-deep-namespace/cpp_deep_namespace",
      "runs": 10,
      "metrics_ms": {
        "average": 264.544,
        "p50": 260.15,
        "p95": 284.792,
        "min": 258.118,
        "max": 284.792
      },
      "internal_metrics_ms": {
        "module_count": 1,
        "parse_phase": {
          "average": 246.4,
          "p50": 242.0,
          "p95": 267.0,
          "min": 240.0,
          "max": 267.0
        },
        "index_phase": {
          "average": 17.1,
          "p50": 17.0,
          "p95": 18.0,
          "min": 17.0,
          "max": 18.0
        },
        "internal_total": {
          "average": 264.2,
          "p50": 260.0,
          "p95": 284.0,
          "min": 258.0,
          "max": 284.0
        }
      }
    }
  }
}
