2import { BenchmarkResult } from "../types";
4export function useBenchmarkChartData(
5 results: BenchmarkResult[],
6 selectedDataset?: string | null,
7 selectedAlgorithm?: string | null,
8) {
9 return useMemo(() => {
10 if (selectedDataset) {
11 return results
12 .filter((row) => row.dataset === selectedDataset)
13 .map((row) => ({
18 decode_speed: row.decode_mb_per_sec,
19 }));
20 } else if (selectedAlgorithm) {
21 return results
22 .filter((row) => row.algorithm === selectedAlgorithm)
23 .map((row) => ({
27 ...results
28 .filter((r) => r.dataset === row.dataset)
29 .map((r) => r.compression_ratio),
30 ),
32 decode_speed: row.decode_mb_per_sec,
33 }));
34 }
35 return [];
36 }, [results, selectedDataset, selectedAlgorithm]);
37}