/* This file is part of TALER (C) 2015 GNUnet e.V. TALER is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. TALER is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with TALER; see the file COPYING. If not, see */ /** * Benchmarks for the wallet. * * @author Florian Dold */ import * as i18n from "../i18n"; import { BenchmarkResult } from "../../types/walletTypes"; import * as wxApi from "../wxApi"; import * as React from "react"; interface BenchmarkRunnerState { repetitions: number; result?: BenchmarkResult; running: boolean; } function BenchmarkDisplay(props: BenchmarkRunnerState): JSX.Element { const result = props.result; if (!result) { if (props.running) { return
Waiting for results ...
; } else { return
; } } return ( <>

Results for {result.repetitions} repetitions

{Object.keys(result.time) .sort() .map((k) => ( ))}
{i18n.str`Operation`} {i18n.str`time (ms/op)`}
{k} {result.time[k] / result.repetitions}
); } class BenchmarkRunner extends React.Component { constructor(props: any) { super(props); this.state = { repetitions: 10, running: false, }; } async run(): Promise { this.setState({ result: undefined, running: true }); const result = await wxApi.benchmarkCrypto(this.state.repetitions); this.setState({ result, running: false }); } render(): JSX.Element { return (
this.setState({ repetitions: Number.parseInt(evt.target.value) }) } />{" "}
); } } export function makeBenchmarkPage(): JSX.Element { return ; }