36 lines
1.2 KiB
JSON
36 lines
1.2 KiB
JSON
{
|
|
"name": "layered",
|
|
"description": "Single module with 2 layered perf issues (memory + data-structures). Tests multi-domain discovery.",
|
|
"eval_type": "layered",
|
|
"test_command": "PYTHONPATH=src uv run python -m pytest tests/ -v",
|
|
"bugs": [
|
|
{
|
|
"id": "deepcopy-per-record",
|
|
"file": "src/processor/core.py",
|
|
"function": "_validate_and_transform",
|
|
"domain": "memory",
|
|
"description": "copy.deepcopy(config) called per record — large nested config copied 5k times",
|
|
"expected_fix": "Extract config fields once before the loop; config is never mutated"
|
|
},
|
|
{
|
|
"id": "on2-dedup",
|
|
"file": "src/processor/core.py",
|
|
"function": "_deduplicate",
|
|
"domain": "data-structures",
|
|
"description": "O(n²) dedup via _is_duplicate scanning full unique list per record with field-by-field comparison",
|
|
"expected_fix": "Hash-based dedup with set — build hashable key from non-computed fields"
|
|
}
|
|
],
|
|
"test_file": "tests/test_processor.py",
|
|
"test_name": "test_process_large_batch",
|
|
"data_size": 5000,
|
|
"rubric": {
|
|
"criteria": {
|
|
"found_deepcopy_issue": 3,
|
|
"found_dedup_issue": 3,
|
|
"correct_fix_deepcopy": 2,
|
|
"correct_fix_dedup": 2
|
|
},
|
|
"total": 10
|
|
}
|
|
}
|