diff --git a/resources/views/livewire/sessions/scenarios.blade.php b/resources/views/livewire/sessions/scenarios.blade.php
index 51ffa6e..e6d8914 100644
--- a/resources/views/livewire/sessions/scenarios.blade.php
+++ b/resources/views/livewire/sessions/scenarios.blade.php
@@ -13,7 +13,7 @@
private const SORTABLE = [
'scenario', 'level', 'ok', 'outcome',
'wall', 'turns', 'commands', 'submissions', 'rejected',
- 't_first_sub', 't_pass', 'gen_tokens',
+ 't_first_sub', 't_pass', 'gen_tokens', 'gen_tps',
];
public ?int $sessionId = null;
@@ -78,11 +78,16 @@ public function results()
$column = in_array($this->sortBy, self::SORTABLE, true) ? $this->sortBy : 'scenario';
$direction = $this->sortDirection === 'asc' ? 'asc' : 'desc';
- return DB::table('scenario_runs')
- ->whereIn('benchmark_run_id', $runIds)
- ->orderBy($column, $direction)
- ->orderBy('id')
- ->get();
+ $query = DB::table('scenario_runs')
+ ->whereIn('benchmark_run_id', $runIds);
+
+ if ($column === 'gen_tps') {
+ $query->orderByRaw('gen_tokens / nullif(wall, 0) ' . $direction);
+ } else {
+ $query->orderBy($column, $direction);
+ }
+
+ return $query->orderBy('id')->get();
}
};
?>
@@ -120,6 +125,7 @@ public function results()
{{ __('t first sub') }}
{{ __('t pass') }}
{{ __('Gen tokens') }}
+ {{ __('Gen tok/s') }}
@@ -145,6 +151,7 @@ public function results()
{{ number_format($result->t_first_sub, 1) }}
{{ $result->t_pass !== null ? number_format($result->t_pass, 1) : '—' }}
{{ number_format($result->gen_tokens) }}
+ {{ $result->wall > 0 && $result->gen_tokens > 0 ? number_format($result->gen_tokens / $result->wall, 1) : '—' }}
@endforeach
diff --git a/resources/views/livewire/summary/index.blade.php b/resources/views/livewire/summary/index.blade.php
index a7c1403..1efd034 100644
--- a/resources/views/livewire/summary/index.blade.php
+++ b/resources/views/livewire/summary/index.blade.php
@@ -190,7 +190,7 @@ class="w-64"
{{ __('Benchmark') }}
{{ __('Thinking') }}
{{ __('Result') }}
- {{ __('Speed (tok/s)') }} avg · wtd
+ {{ __('Speed (tok/s)') }} {{ __('weighted average') }}
{{ __('Tokens') }}
@@ -214,12 +214,10 @@ class="flex flex-wrap items-center gap-x-4 gap-y-1 px-4 py-2.5 hover:bg-zinc-50
✘ {{ $row->failed }}
- @if ($row->avg_user_tps !== null)
- {{ number_format($row->avg_user_tps, 1) }} avg
- {{ number_format($row->weighted_user_tps, 1) }} wtd
+ @if ($row->weighted_user_tps !== null)
+ {{ number_format($row->weighted_user_tps, 1) }}
@elseif ($row->gen_tps !== null)
- {{ number_format($row->gen_tps, 1) }} gen
- —
+ {{ number_format($row->gen_tps, 1) }} {{ __('gen') }}
@endif
{{ number_format($row->total_tokens) }}