summaryrefslogtreecommitdiffstats
path: root/benchmarks/string_benchmark.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks/string_benchmark.cpp')
-rw-r--r--benchmarks/string_benchmark.cpp35
1 files changed, 18 insertions, 17 deletions
diff --git a/benchmarks/string_benchmark.cpp b/benchmarks/string_benchmark.cpp
index 536e253..866aa00 100644
--- a/benchmarks/string_benchmark.cpp
+++ b/benchmarks/string_benchmark.cpp
@@ -14,10 +14,11 @@
* limitations under the License.
*/
-#include "benchmark.h"
-
+#include <stdint.h>
#include <string.h>
+#include <benchmark/Benchmark.h>
+
#define KB 1024
#define MB 1024*KB
@@ -26,7 +27,8 @@
// TODO: test unaligned operation too? (currently everything will be 8-byte aligned by malloc.)
-static void BM_string_memcmp(int iters, int nbytes) {
+BENCHMARK_WITH_ARG(BM_string_memcmp, int)->AT_COMMON_SIZES;
+void BM_string_memcmp::Run(int iters, int nbytes) {
StopBenchmarkTiming();
char* src = new char[nbytes]; char* dst = new char[nbytes];
memset(src, 'x', nbytes);
@@ -39,13 +41,13 @@ static void BM_string_memcmp(int iters, int nbytes) {
}
StopBenchmarkTiming();
- SetBenchmarkBytesProcessed(int64_t(iters) * int64_t(nbytes));
+ SetBenchmarkBytesProcessed(uint64_t(iters) * uint64_t(nbytes));
delete[] src;
delete[] dst;
}
-BENCHMARK(BM_string_memcmp)->AT_COMMON_SIZES;
-static void BM_string_memcpy(int iters, int nbytes) {
+BENCHMARK_WITH_ARG(BM_string_memcpy, int)->AT_COMMON_SIZES;
+void BM_string_memcpy::Run(int iters, int nbytes) {
StopBenchmarkTiming();
char* src = new char[nbytes]; char* dst = new char[nbytes];
memset(src, 'x', nbytes);
@@ -56,13 +58,13 @@ static void BM_string_memcpy(int iters, int nbytes) {
}
StopBenchmarkTiming();
- SetBenchmarkBytesProcessed(int64_t(iters) * int64_t(nbytes));
+ SetBenchmarkBytesProcessed(uint64_t(iters) * uint64_t(nbytes));
delete[] src;
delete[] dst;
}
-BENCHMARK(BM_string_memcpy)->AT_COMMON_SIZES;
-static void BM_string_memmove(int iters, int nbytes) {
+BENCHMARK_WITH_ARG(BM_string_memmove, int)->AT_COMMON_SIZES;
+void BM_string_memmove::Run(int iters, int nbytes) {
StopBenchmarkTiming();
char* buf = new char[nbytes + 64];
memset(buf, 'x', nbytes + 64);
@@ -73,12 +75,12 @@ static void BM_string_memmove(int iters, int nbytes) {
}
StopBenchmarkTiming();
- SetBenchmarkBytesProcessed(int64_t(iters) * int64_t(nbytes));
+ SetBenchmarkBytesProcessed(uint64_t(iters) * uint64_t(nbytes));
delete[] buf;
}
-BENCHMARK(BM_string_memmove)->AT_COMMON_SIZES;
-static void BM_string_memset(int iters, int nbytes) {
+BENCHMARK_WITH_ARG(BM_string_memset, int)->AT_COMMON_SIZES;
+void BM_string_memset::Run(int iters, int nbytes) {
StopBenchmarkTiming();
char* dst = new char[nbytes];
StartBenchmarkTiming();
@@ -88,12 +90,12 @@ static void BM_string_memset(int iters, int nbytes) {
}
StopBenchmarkTiming();
- SetBenchmarkBytesProcessed(int64_t(iters) * int64_t(nbytes));
+ SetBenchmarkBytesProcessed(uint64_t(iters) * uint64_t(nbytes));
delete[] dst;
}
-BENCHMARK(BM_string_memset)->AT_COMMON_SIZES;
-static void BM_string_strlen(int iters, int nbytes) {
+BENCHMARK_WITH_ARG(BM_string_strlen, int)->AT_COMMON_SIZES;
+void BM_string_strlen::Run(int iters, int nbytes) {
StopBenchmarkTiming();
char* s = new char[nbytes];
memset(s, 'x', nbytes);
@@ -106,7 +108,6 @@ static void BM_string_strlen(int iters, int nbytes) {
}
StopBenchmarkTiming();
- SetBenchmarkBytesProcessed(int64_t(iters) * int64_t(nbytes));
+ SetBenchmarkBytesProcessed(uint64_t(iters) * uint64_t(nbytes));
delete[] s;
}
-BENCHMARK(BM_string_strlen)->AT_COMMON_SIZES;