llvm-project/libc/benchmarks/JSON.h
Guillaume Chatelet deae7e982a [libc] revamp memory function benchmark
The benchmarking infrastructure can now run in two modes:
 - Sweep Mode: which generates a ramp of size values (same as before),
 - Distribution Mode: allows the user to select a distribution for the size paramater that is representative from production.

The analysis tool has also been updated to handle both modes.

Differential Revision: https://reviews.llvm.org/D93210
2020-12-17 13:23:33 +00:00

29 lines
871 B
C++

//===-- JSON serialization routines -----------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_LIBC_UTILS_BENCHMARK_JSON_H
#define LLVM_LIBC_UTILS_BENCHMARK_JSON_H
#include "LibcBenchmark.h"
#include "LibcMemoryBenchmark.h"
#include "llvm/Support/JSON.h"
namespace llvm {
namespace libc_benchmarks {
// Parses a Study from a json string.
Expected<Study> parseJsonStudy(StringRef Content);
// Serialize a Study as json.
void serializeToJson(const Study &S, llvm::json::OStream &JOS);
} // namespace libc_benchmarks
} // namespace llvm
#endif // LLVM_LIBC_UTILS_BENCHMARK_JSON_H