/ concept-collection / benchcompress
Sign in
concept-collection / benchcompress
benchcompress / web-ui / src / hooks / useBenchmarkChartData.ts
31 lines · 987 BBlameHistoryRaw
1import { useMemo } from "react";
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) => ({
14 algorithm: row.algorithm,
15 compression_ratio: row.compression_ratio,
16 encode_speed: row.encode_mb_per_sec,
17 decode_speed: row.decode_mb_per_sec,
18 }));
19 } else if (selectedAlgorithm) {
20 return results
21 .filter((row) => row.algorithm === selectedAlgorithm)
22 .map((row) => ({
23 algorithm: row.dataset,
24 compression_ratio: row.compression_ratio,
25 encode_speed: row.encode_mb_per_sec,
26 decode_speed: row.decode_mb_per_sec,
27 }));
28 }
29 return [];
30 }, [results, selectedDataset, selectedAlgorithm]);
moveopenescclose