mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-30 09:14:59 +00:00
feat: Include never solved exercises in stats
This commit is contained in:
parent
1d7cb0c119
commit
91f5fca5e9
1 changed files with 16 additions and 2 deletions
|
@ -30,9 +30,18 @@ def analyze_exercise_solutions():
|
||||||
with open("aider/website/_data/edit_leaderboard.yml") as f:
|
with open("aider/website/_data/edit_leaderboard.yml") as f:
|
||||||
leaderboard = yaml.safe_load(f)
|
leaderboard = yaml.safe_load(f)
|
||||||
|
|
||||||
# Track which models solved each exercise
|
# Get all exercise names from a complete run
|
||||||
|
all_exercises = set()
|
||||||
exercise_solutions = defaultdict(list)
|
exercise_solutions = defaultdict(list)
|
||||||
|
|
||||||
|
# Find a complete run to get all exercise names
|
||||||
|
for entry in leaderboard:
|
||||||
|
dirname = entry["dirname"]
|
||||||
|
results = load_results(dirname)
|
||||||
|
if results and len(results) == 133: # Complete run
|
||||||
|
all_exercises = {result["testcase"] for result in results}
|
||||||
|
break
|
||||||
|
|
||||||
for entry in leaderboard:
|
for entry in leaderboard:
|
||||||
dirname = entry["dirname"]
|
dirname = entry["dirname"]
|
||||||
model = entry["model"]
|
model = entry["model"]
|
||||||
|
@ -56,11 +65,16 @@ def analyze_exercise_solutions():
|
||||||
print("\nExercise Solution Statistics:")
|
print("\nExercise Solution Statistics:")
|
||||||
print("-" * 40)
|
print("-" * 40)
|
||||||
|
|
||||||
|
# Add exercises that were never solved
|
||||||
|
for exercise in all_exercises:
|
||||||
|
if exercise not in exercise_solutions:
|
||||||
|
exercise_solutions[exercise] = []
|
||||||
|
|
||||||
# Sort by number of models that solved each exercise
|
# Sort by number of models that solved each exercise
|
||||||
sorted_exercises = sorted(exercise_solutions.items(), key=lambda x: len(x[1]), reverse=True)
|
sorted_exercises = sorted(exercise_solutions.items(), key=lambda x: len(x[1]), reverse=True)
|
||||||
|
|
||||||
# Calculate max length for alignment
|
# Calculate max length for alignment
|
||||||
max_name_len = max(len(testcase) for testcase, _ in sorted_exercises)
|
max_name_len = max(len(testcase) for testcase in all_exercises)
|
||||||
total_models = len({model for models in exercise_solutions.values() for model in models})
|
total_models = len({model for models in exercise_solutions.values() for model in models})
|
||||||
|
|
||||||
for testcase, models in sorted_exercises:
|
for testcase, models in sorted_exercises:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue