mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-10 13:04:15 -04:00
Update benchmark
This commit is contained in:
parent
367c80559a
commit
267108e015
@ -23,13 +23,12 @@
|
|||||||
|
|
||||||
#include <benchmark/benchmark.h>
|
#include <benchmark/benchmark.h>
|
||||||
|
|
||||||
#include <sys/statvfs.h>
|
|
||||||
|
|
||||||
#include <thrift/lib/cpp2/frozen/FrozenUtil.h>
|
#include <thrift/lib/cpp2/frozen/FrozenUtil.h>
|
||||||
|
|
||||||
#include "dwarfs/block_compressor.h"
|
#include "dwarfs/block_compressor.h"
|
||||||
#include "dwarfs/block_manager.h"
|
#include "dwarfs/block_manager.h"
|
||||||
#include "dwarfs/entry.h"
|
#include "dwarfs/entry.h"
|
||||||
|
#include "dwarfs/file_stat.h"
|
||||||
#include "dwarfs/filesystem_v2.h"
|
#include "dwarfs/filesystem_v2.h"
|
||||||
#include "dwarfs/filesystem_writer.h"
|
#include "dwarfs/filesystem_writer.h"
|
||||||
#include "dwarfs/logger.h"
|
#include "dwarfs/logger.h"
|
||||||
@ -37,6 +36,7 @@
|
|||||||
#include "dwarfs/progress.h"
|
#include "dwarfs/progress.h"
|
||||||
#include "dwarfs/scanner.h"
|
#include "dwarfs/scanner.h"
|
||||||
#include "dwarfs/string_table.h"
|
#include "dwarfs/string_table.h"
|
||||||
|
#include "dwarfs/vfs_stat.h"
|
||||||
#include "dwarfs/worker_group.h"
|
#include "dwarfs/worker_group.h"
|
||||||
#include "mmap_mock.h"
|
#include "mmap_mock.h"
|
||||||
#include "test_helpers.h"
|
#include "test_helpers.h"
|
||||||
@ -216,37 +216,37 @@ class filesystem : public ::benchmark::Fixture {
|
|||||||
|
|
||||||
void read_bench(::benchmark::State& state, const char* file) {
|
void read_bench(::benchmark::State& state, const char* file) {
|
||||||
auto iv = fs->find(file);
|
auto iv = fs->find(file);
|
||||||
struct ::stat st;
|
file_stat st;
|
||||||
fs->getattr(*iv, &st);
|
fs->getattr(*iv, &st);
|
||||||
auto i = fs->open(*iv);
|
auto i = fs->open(*iv);
|
||||||
std::string buf;
|
std::string buf;
|
||||||
buf.resize(st.st_size);
|
buf.resize(st.size);
|
||||||
|
|
||||||
for (auto _ : state) {
|
for (auto _ : state) {
|
||||||
::benchmark::DoNotOptimize(fs->read(i, buf.data(), st.st_size));
|
::benchmark::DoNotOptimize(fs->read(i, buf.data(), st.size));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void readv_bench(::benchmark::State& state, char const* file) {
|
void readv_bench(::benchmark::State& state, char const* file) {
|
||||||
auto iv = fs->find(file);
|
auto iv = fs->find(file);
|
||||||
struct ::stat st;
|
file_stat st;
|
||||||
fs->getattr(*iv, &st);
|
fs->getattr(*iv, &st);
|
||||||
auto i = fs->open(*iv);
|
auto i = fs->open(*iv);
|
||||||
|
|
||||||
for (auto _ : state) {
|
for (auto _ : state) {
|
||||||
iovec_read_buf buf;
|
iovec_read_buf buf;
|
||||||
::benchmark::DoNotOptimize(fs->readv(i, buf, st.st_size));
|
::benchmark::DoNotOptimize(fs->readv(i, buf, st.size));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void readv_future_bench(::benchmark::State& state, char const* file) {
|
void readv_future_bench(::benchmark::State& state, char const* file) {
|
||||||
auto iv = fs->find(file);
|
auto iv = fs->find(file);
|
||||||
struct ::stat st;
|
file_stat st;
|
||||||
fs->getattr(*iv, &st);
|
fs->getattr(*iv, &st);
|
||||||
auto i = fs->open(*iv);
|
auto i = fs->open(*iv);
|
||||||
|
|
||||||
for (auto _ : state) {
|
for (auto _ : state) {
|
||||||
auto x = fs->readv(i, st.st_size);
|
auto x = fs->readv(i, st.size);
|
||||||
for (auto& f : *x) {
|
for (auto& f : *x) {
|
||||||
::benchmark::DoNotOptimize(f.get());
|
::benchmark::DoNotOptimize(f.get());
|
||||||
}
|
}
|
||||||
@ -264,7 +264,7 @@ class filesystem : public ::benchmark::Fixture {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (auto _ : state) {
|
for (auto _ : state) {
|
||||||
struct ::stat buf;
|
file_stat buf;
|
||||||
::benchmark::DoNotOptimize(fs->getattr(ent[i++ % N], &buf));
|
::benchmark::DoNotOptimize(fs->getattr(ent[i++ % N], &buf));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -402,7 +402,7 @@ BENCHMARK_DEFINE_F(filesystem, readlink)(::benchmark::State& state) {
|
|||||||
|
|
||||||
BENCHMARK_DEFINE_F(filesystem, statvfs)(::benchmark::State& state) {
|
BENCHMARK_DEFINE_F(filesystem, statvfs)(::benchmark::State& state) {
|
||||||
for (auto _ : state) {
|
for (auto _ : state) {
|
||||||
struct ::statvfs buf;
|
vfs_stat buf;
|
||||||
::benchmark::DoNotOptimize(fs->statvfs(&buf));
|
::benchmark::DoNotOptimize(fs->statvfs(&buf));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user