Files
scylladb/test/perf/perf_checksum.cc
Avi Kivity 0ae22a09d4 LICENSE: Update to version 1.1
Updated terms of non-commercial use (must be a never-customer).
2026-04-12 19:46:33 +03:00

56 lines
1.6 KiB
C++

/*
* Copyright (C) 2018-present ScyllaDB
*/
/*
* SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.1
*/
#include "sstables/checksum_utils.hh"
#include "test/lib/make_random_string.hh"
#include "utils/gz/crc_combine.hh"
#include <seastar/testing/perf_tests.hh>
struct crc_test {
const sstring data = make_random_string(64*1024);
const sstring data2 = make_random_string(64*1024);
const uint32_t sum1 = zlib_crc32_checksummer::checksum(data.data(), data.size());
const uint32_t sum2 = zlib_crc32_checksummer::checksum(data2.data(), data2.size());
};
PERF_TEST_F(crc_test, perf_deflate_crc32_combine) {
perf_tests::do_not_optimize(
libdeflate_crc32_checksummer::checksum_combine(sum1, sum2, data.size()));
}
PERF_TEST_F(crc_test, perf_adler_combine) {
perf_tests::do_not_optimize(
adler32_utils::checksum_combine(sum1, sum2, data.size()));
}
PERF_TEST_F(crc_test, perf_zlib_crc32_combine) {
perf_tests::do_not_optimize(
zlib_crc32_checksummer::checksum_combine(sum1, sum2, data.size()));
}
PERF_TEST_F(crc_test, perf_fast_crc32_combine) {
perf_tests::do_not_optimize(
fast_crc32_combine(sum1, sum2, data.size()));
}
PERF_TEST_F(crc_test, perf_deflate_crc32_checksum) {
perf_tests::do_not_optimize(
libdeflate_crc32_checksummer::checksum(data.data(), data.size()));
}
PERF_TEST_F(crc_test, perf_adler_checksum) {
perf_tests::do_not_optimize(
adler32_utils::checksum(data.data(), data.size()));
}
PERF_TEST_F(crc_test, perf_zlib_crc32_checksum) {
perf_tests::do_not_optimize(
zlib_crc32_checksummer::checksum(data.data(), data.size()));
}