Skip to content

Commit 1444fe5

Browse files
committed
add a few more file io benchmarks
1 parent 4f87759 commit 1444fe5

1 file changed

Lines changed: 53 additions & 0 deletions

File tree

  • samples/benchmarks/00_fileiobenchmark

samples/benchmarks/00_fileiobenchmark/main.cpp

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,33 @@ BENCHMARK_DEFINE_F(ofstream_fixture, ChromeCallLogging_WithTimes_WithArgs_nospac
274274
}
275275
BENCHMARK_REGISTER_F(ofstream_fixture, ChromeCallLogging_WithTimes_WithArgs_nospaces_sprintf_write);
276276

277+
BENCHMARK_DEFINE_F(ofstream_fixture, ChromeCallLogging_WithTimes_noargs_nospaces_sprintf_write)(benchmark::State& state)
278+
{
279+
while(state.KeepRunning()) {
280+
std::string name;
281+
name += "test_function";
282+
283+
uint64_t processId = GET_PROCESS_ID();
284+
uint64_t threadId = GET_THREAD_ID();
285+
286+
using us = std::chrono::microseconds;
287+
uint64_t usStart =
288+
std::chrono::duration_cast<us>(start - global_start).count();
289+
uint64_t usDelta =
290+
std::chrono::duration_cast<us>(end - start).count();
291+
292+
int size = CLI_SPRINTF(buffer, BUFFER_SIZE,
293+
"{\"ph\":\"X\",\"pid\":%" PRIu64 ",\"tid\":%" PRIu64 ",\"name\":\"%s\",\"ts\":%" PRIu64 ",\"dur\":%" PRIu64 "},\n",
294+
processId,
295+
threadId,
296+
name.c_str(),
297+
usStart,
298+
usDelta );
299+
trace.write(buffer, size);
300+
}
301+
}
302+
BENCHMARK_REGISTER_F(ofstream_fixture, ChromeCallLogging_WithTimes_noargs_nospaces_sprintf_write);
303+
277304
BENCHMARK_DEFINE_F(ofstream_fixture, ChromeCallLogging_WithTimes_WithArgs_nospaces_fixturepid_sprintf_insertion)(benchmark::State& state)
278305
{
279306
while(state.KeepRunning()) {
@@ -659,5 +686,31 @@ BENCHMARK_DEFINE_F(FILE_fixture, ChromeCallLogging_WithTimes_WithArgs_nospaces_f
659686
}
660687
BENCHMARK_REGISTER_F(FILE_fixture, ChromeCallLogging_WithTimes_WithArgs_nospaces_fixturepid_sprintf_fwrite);
661688

689+
BENCHMARK_DEFINE_F(FILE_fixture, ChromeCallLogging_WithTimes_noargs_nospaces_fixturepid_sprintf_fwrite)(benchmark::State& state)
690+
{
691+
while(state.KeepRunning()) {
692+
std::string name;
693+
name += "test_function";
694+
695+
uint64_t threadId = GET_THREAD_ID();
696+
697+
using us = std::chrono::microseconds;
698+
uint64_t usStart =
699+
std::chrono::duration_cast<us>(start - global_start).count();
700+
uint64_t usDelta =
701+
std::chrono::duration_cast<us>(end - start).count();
702+
703+
int size = CLI_SPRINTF(buffer, BUFFER_SIZE,
704+
"{\"ph\":\"X\",\"pid\":%" PRIu64 ",\"tid\":%" PRIu64 ",\"name\":\"%s\",\"ts\":%" PRIu64 ",\"dur\":%" PRIu64 "},\n",
705+
fixture_processId,
706+
threadId,
707+
name.c_str(),
708+
usStart,
709+
usDelta );
710+
fwrite(buffer, size, 1, trace);
711+
}
712+
}
713+
BENCHMARK_REGISTER_F(FILE_fixture, ChromeCallLogging_WithTimes_noargs_nospaces_fixturepid_sprintf_fwrite);
714+
662715

663716
BENCHMARK_MAIN();

0 commit comments

Comments
 (0)